

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 查詢範例
<a name="querying-r53-resolver-logs-example-queries"></a>

以下範例顯示您可以從 Athena 對 Resolver 查詢日誌執行的部分查詢。

## 範例 1 – 以遞減的 query\$1timestamp 順序查詢日誌
<a name="querying-r53-resolver-logs-example-1-query-logs-in-descending-query_timestamp-order"></a>

以下查詢以遞減的 `query_timestamp` 順序顯示日誌結果。

```
SELECT * FROM "r53_rlogs"
ORDER BY query_timestamp DESC
```

## 範例 2 – 在指定的開始和結束時間內查詢日誌
<a name="querying-r53-resolver-logs-example-2-query-logs-within-specified-start-and-end-times"></a>

以下查詢會查詢 2020 年 9 月 24 日午夜到早上 8 點之間的日誌。根據您的需求替換開始和結束時間。

```
SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode
FROM "r53_rlogs"
WHERE (parse_datetime(query_timestamp,'yyyy-MM-dd''T''HH:mm:ss''Z')
     BETWEEN parse_datetime('2020-09-24-00:00:00','yyyy-MM-dd-HH:mm:ss') 
     AND parse_datetime('2020-09-24-00:08:00','yyyy-MM-dd-HH:mm:ss'))
ORDER BY query_timestamp DESC
```

## 範例 3 – 根據指定的 DNS 查詢名稱模式查詢日誌
<a name="querying-r53-resolver-logs-example-3-query-logs-based-on-a-specified-dns-query-name-pattern"></a>

以下查詢會選取其查詢名稱包括 "example.com" 字串的記錄。

```
SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode, answers
FROM "r53_rlogs"
WHERE query_name LIKE '%example.com%'
ORDER BY query_timestamp DESC
```

## 範例 4 – 查詢無答案的日誌請求
<a name="querying-r53-resolver-logs-example-4-query-log-requests-with-no-answer"></a>

以下查詢會選取請求未收到答案的日誌項目。

```
SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode, answers
FROM "r53_rlogs"
WHERE cardinality(answers) = 0
```

## 範例 5 – 查詢有特定答案的日誌
<a name="querying-r53-resolver-logs-example-5-query-logs-with-a-specific-answer"></a>

以下查詢會顯示其中的 `answer.Rdata` 值有指定 IP 地址的日誌。

```
SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode, answer.Rdata
FROM "r53_rlogs"
CROSS JOIN UNNEST(r53_rlogs.answers) as st(answer)
WHERE answer.Rdata='203.0.113.16';
```