

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

# 建立 Resolver 查詢日誌的資料表
<a name="querying-r53-resolver-logs-creating-the-table"></a>

您可以使用 Athena 主控台中的查詢編輯器，建立並查詢 Route 53 Resolver 查詢日誌的資料表。

**若要建立並查詢 Route 53 Resolver 查詢日誌的 Athena 資料表**

1. 前往 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) 開啟 Athena 主控台。

1. 在 Athena 查詢編輯器中，輸入以下 `CREATE TABLE` 陳述式。使用對應於 Amazon S3 中 Resolver 日誌位置的值取代 `LOCATION` 子句值。

   ```
   CREATE EXTERNAL TABLE r53_rlogs (
     version string,
     account_id string,
     region string,
     vpc_id string,
     query_timestamp string,
     query_name string,
     query_type string,
     query_class
       string,
     rcode string,
     answers array<
       struct<
         Rdata: string,
         Type: string,
         Class: string>
       >,
     srcaddr string,
     srcport int,
     transport string,
     srcids struct<
       instance: string,
       resolver_endpoint: string
       >,
     firewall_rule_action string,
     firewall_rule_group_id string,
     firewall_domain_list_id string
    )
        
   ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
   LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/aws_account_id/vpcdnsquerylogs/{vpc-id}/'
   ```

   由於 Resolver 查詢日誌資料是 JSON 格式，CREATE TABLE 陳述式會使用 [JSON SerDe 程式庫](json-serde.md)分析資料。
**注意**  
SerDe 預期每筆 JSON 文件都以單行文字表示，而且沒有行終止字元分隔記錄中的欄位。如果 JSON 文字是美化過的列印格式，則在建立資料表後嘗試在其中查詢時可能會收到下列錯誤訊息：HIVE\$1CURSOR\$1ERROR: Row is not a valid JSON Object (HIVE\$1CURSOR\$1ERROR：資料列不是有效的 JSON 物件) 或 HIVE\$1CURSOR\$1ERROR: JsonParseException: Unexpected end-of-input: expected close marker for OBJECT (HIVE\$1CURSOR\$1ERROR：JsonParseException：非預期的輸入結束：預期為 OBJECT 的關閉標記)。如需詳細資訊，請參閱 GitHub 上 OpenX SerDe 文件中的 [JSON 資料檔案](https://github.com/rcongiu/Hive-JSON-Serde#json-data-files)。

1. 選擇 **Run query** (執行查詢)。該陳述式會建立名為 `r53_rlogs` 的 Athena 資料表，其資料欄表示 Resolver 日誌資料中的各欄位。

1. 在 Athena 主控台查詢編輯器中，執行以下查詢，以確認您的資料表已建立。

   ```
   SELECT * FROM "r53_rlogs" LIMIT 10
   ```