

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

# 教學課程：使用適用於視窗的 Kinesis 代理程式將 JSON 日誌檔串流到 Amazon S3
<a name="directory-source-to-s3-tutorial"></a>

本教學示範使用 Amazon Kinesis vice (Windows) 設定資料管道的詳細步驟。

本教學包含下列步驟：
+ 針對 Windows 使用 Kinesis Agent 將 JSON 格式的日誌檔案串流至[Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/gsg/)透過[Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/)。如需有關 Windows 專用 Kinesis 代理程式的詳細資訊，請參閱[什麼是 Amazon Kinesis Agent，適用於微軟視窗？](what-is-kinesis-agent-windows.md)。
+ 增強日誌資料，再使用物件裝飾進行串流。如需詳細資訊，請參閱 [設定目的地宣告](sink-object-declarations.md#configuring-kinesis-agent-windows-decoration-configuration)。
+ 使用[Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/)搜尋特定類型的日誌記錄。

**Prerequisites**  
若您尚未擁有 AWS 帳戶，請遵循[設定 AWS 帳戶](getting-started.md#getting-started-setting-up)來獲得一個。

**Topics**
+ [步驟 1：設定 AWS 服務](kaw-ds2s3-tutorial-step1.md)
+ [步驟 2：安裝、設定及執行適用於視窗的 Kinesis 代理程式](kaw-ds2s3-tutorial-step2.md)
+ [步驟 3：在 Amazon S3 中查詢日誌資料](kaw-ds2s3-tutorial-step3.md)
+ [後續步驟](#kaw-ds2s3-tutorial-step4-next)

# 步驟 1：設定 AWS 服務
<a name="kaw-ds2s3-tutorial-step1"></a>

遵循這些步驟，準備您的環境，使用 Amazon Simple Storage Service (Amazon S3)。如需詳細資訊和事前準備，請參閱[教學課程：使用適用於視窗的 Kinesis 代理程式將 JSON 日誌檔串流到 Amazon S3](directory-source-to-s3-tutorial.md)。

使用 AWS 管理主控台配置 AWS Identity and Access Management (IAM)、Amazon S3、Kinesis Data Firehose 管和 Amazon Elastic Compute Cloud (Amazon EC2)，以準備從 EC2 執行個體到 Amazon S3 的串流日誌資料。

**Topics**
+ [設定 IAM 政策及角色](#kaw-ds2s3-tutorial-step1.1)
+ [建立 Amazon S3 儲存貯體](#kaw-ds2s3-tutorial-step1.2)
+ [建立 Kinesis Data Firehose 交付串流](#kaw-ds2s3-tutorial-step1.3)
+ [建立 Amazon EC2 執行個體以執行適用於視窗的 Kinesis 代理程式](#kaw-ds2s3-tutorial-step1.4)
+ [後續步驟](#kaw-ds2s3-tutorial-next)

## 設定 IAM 政策及角色
<a name="kaw-ds2s3-tutorial-step1.1"></a>

建立以下政策，授權 Windows 版 Kinesis Agent 將記錄串流至特定 Kinesis Data Firehose 交付串流：

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "firehose:PutRecord",
                "firehose:PutRecordBatch"
            ],
            "Resource": "arn:aws:firehose:region:account-id:deliverystream/log-delivery-stream"
        }
    ]
}
```

Replace*`region`*，並包含將建立 Kinesis Data Firehose 交付串流的 AWS 區域名稱 (`us-east-1`，例如）。將 *`account-id`* 替換成將建立交付串流 AWS 帳戶的 12 位數帳戶 ID。

 在導覽列中，選擇**支援**，然後**Support 中心**。您目前登入的 12 位數帳戶號碼 (ID) 會顯示在**Support 中心**導覽窗格。

使用以下程序建立政策。將政策命名為 `log-delivery-stream-access-policy`。

**使用 JSON 政策編輯器建立政策**

1. 登入 AWS 管理主控台，然後前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 在頁面頂端，選擇 **Create policy (建立政策)**。

1. 請選擇 **JSON** 索引標籤。

1. 輸入 JSON 政策文件。如需 IAM 政策語言的詳細資料，請參閱[IAM JSON 政策參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)中的*IAM 使用者指南*。

1. 完成時，選擇 **Review policy** (檢閱政策)。[Policy Validator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) (政策檢查工具) 會回報任何語法錯誤。
**注意**  
您可以隨時切換 **Visual editor (視覺化編輯器)** 與 **JSON** 標籤。但是，如果您進行變更或選擇**檢閱政策**中的**Visual editor (視覺化編輯器)**索引標籤，IAM 可能會調整您的政策結構以針對視覺化編輯器進行最佳化。如需詳細資訊，請參閱「」[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)中的*IAM 使用者指南*。

1. 在 **Review policy (檢閱政策)** 頁面上，為您正在建立的政策輸入 **Name (名稱)** 與 **Description (描述)** (選用)。檢閱政策 **Summary (摘要)** 來查看您的政策所授予的許可。然後選擇 **Create policy** (建立政策) 來儲存您的工作。

![\[螢幕擷取畫面，示範如何針對 Kinesis Data Firehose 建立 IAM 政策。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/iam-create-kdf-policy.png)


**建立 Kinesis Data Firehose 存取 S3 儲存貯體的角色**

1. 使用先前的程序，建立名為 `firehose-s3-access-policy` 的政策，使用以下 JSON 定義：

   ```
   {
       "Version": "2012-10-17",  
       "Statement":
       [    
           {      
               "Effect": "Allow",      
               "Action": [        
                   "s3:AbortMultipartUpload",        
                   "s3:GetBucketLocation",        
                   "s3:GetObject",        
                   "s3:ListBucket",        
                   "s3:ListBucketMultipartUploads",        
                   "s3:PutObject"
               ],      
               "Resource": [        
                   "arn:aws:s3:::bucket-name",
                   "arn:aws:s3:::bucket-name/*"		    
               ]    
           },
           {
              "Effect": "Allow",
              "Action": [
                  "logs:PutLogEvents"
              ],
              "Resource": [
                  "arn:aws:logs:region:account-id:log-group:firehose-error-log-group:log-stream:firehose-error-log-stream"
              ]
           }
       ]
   }
   ```

   將 *`bucket-name`* 替換成存放日誌的唯一儲存貯體名稱。Replace*`region`*，並使用將建立 CloudWatch Logs 群組和日誌串流的 AWS 區域。這些是用來記錄透過 Kinesis Data Firehose 將資料串流至 Amazon S3 期間所發生的任何錯誤。將 *`account-id`* 替換成將建立日誌群組及日誌串流帳戶的 12 位數帳戶 ID。  
![\[螢幕擷取畫面，示範如何建立 IAM 政策，允許 Amazon S3 存取 Amazon S3。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/iam-create-s3-policy.png)

1. 在 IAM 主控台的導覽窗格中，選擇 **Roles** (角色)，然後選擇 **Create role** (建立角色)。

1. 選擇**AWS 服務**角色類型，然後選擇**Kinesis**服務。

1. 選擇**Kinesis Data Firehose**針對使用案例，然後選擇**下一頁: 許可。**

1. 在搜尋方塊中，輸入**firehose-s3-access-policy**、選擇政策，然後選擇**下一頁: 檢閱**。

1. 在 **Role name (角色名稱)** 方塊中，輸入 **firehose-s3-access-role**。

1. 選擇 **Create Role** (建立角色)。

**建立角色，以與將執行 Windows S3 執行個體的執行個體描述檔建立關聯**

1. 在 IAM 主控台的導覽窗格中，選擇 **Roles** (角色)，然後選擇 **Create role** (建立角色)。

1. 選擇**AWS 服務**角色類型，然後選擇**EC2**。

1. 選擇**下一頁: 許可。**

1. 在搜尋方塊中，輸入 **log-delivery-stream-access-policy**。

1. 選擇政策，然後選擇**下一頁: 檢閱**。

1. 在 **Role name (角色名稱)** 方塊中，輸入 **kinesis-agent-instance-role**。

1. 選擇 **Create Role** (建立角色)。

## 建立 Amazon S3 儲存貯體
<a name="kaw-ds2s3-tutorial-step1.2"></a>

 建立 Kinesis Data Firehose 串流日誌的 S3 儲存貯體。

**建立用於存放日誌的 S3 儲存貯體**

1. 前往 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

1. 選擇 **Create bucket (建立儲存貯體)**。

1. 在 **Bucket name (儲存貯體名稱)** 方塊中，輸入您在[設定 IAM 政策及角色](#kaw-ds2s3-tutorial-step1.1)中所選擇的唯一 S3 儲存貯體名稱。

1. 選擇應建立儲存貯體的區域。這通常是和您意圖建立 Kinesis Data Firehose 交付串流和 Amazon S3 執行個體區域相同的區域。

1. 選擇 **Create** (建立)。

## 建立 Kinesis Data Firehose 交付串流
<a name="kaw-ds2s3-tutorial-step1.3"></a>

建立 Kinesis Data Firehose 交付串流，將串流記錄存放在 Amazon S3 的 Kinesis Data Firehose 交付串流。

**建立 Kinesis Data Firehose 交付串流**

1. 開啟 Kinesis Data Firehose 主控台，網址為[https://console.aws.amazon.com/firehose/](https://console.aws.amazon.com/firehose/)。

1. 選擇 **Create Delivery Stream (建立交付串流)**。

1. 在 **Delivery stream name (交付串流名稱)** 方塊，輸入 **log-delivery-stream**。

1. 針對 **Source (來源)**，選擇 **Direct PUT or other sources (直接 PUT 或其他來源)**。  
![\[螢幕擷取畫面，示範如何在建立 Kinesis Data Firehose 交付串流時指定來源。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/fh-create-delivery-stream-1.png)

1. 選擇**下一步**。

1. 再次選擇 **Next (下一步)**。

1. 針對目標，選擇**Amazon S3**。

1. 針對 **S3 bucket (S3 儲存貯體)**，選擇您在[建立 Amazon S3 儲存貯體](#kaw-ds2s3-tutorial-step1.2)中建立的儲存貯體名稱。  
![\[螢幕擷取畫面，示範如何在建立 Kinesis Data Firehose 交付串流時指定目標。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/fh-create-delivery-stream-2.png)

1. 選擇**下一步**。

1. 在 **Buffer interval (緩衝間隔)** 方塊中，輸入 **60**。

1. 在 **IAM role (IAM 角色)** 下方，選擇 **Create new or choose (建立新項目或選擇)**。

1. 針對 **IAM role (IAM 角色)**，選擇 `firehose-s3-access-role`。

1. 選擇 **Allow** (允許)。  
![\[螢幕擷取畫面，示範如何在建立 Kinesis Data Firehose 交付串流時設定選項和安全。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/fh-create-delivery-stream-3.png)

1. 選擇**下一步**。

1. 選擇 **Create Delivery Stream (建立交付串流)**。

## 建立 Amazon EC2 執行個體以執行適用於視窗的 Kinesis 代理程式
<a name="kaw-ds2s3-tutorial-step1.4"></a>

建立 EC2 執行個體，使用 Windows 版本 Kinesis Agent，透過 Kinesis Data Firehose 串流日誌記錄。

**建立 EC2 執行個體**

1. 在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 遵循 [Amazon EC2 Windows 執行個體入門](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html)中的說明，使用下列額外步驟：
   + 針對執行個體的 **IAM role (IAM 角色)**，選擇 `kinesis-agent-instance-role`。
   + 如果您尚未擁有公用網際網路連線的虛擬私有雲端 (VPC)，請遵循[使用 Amazon EC2 進行設定](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/get-set-up-for-amazon-ec2.html)中的*Amazon EC2 執行個體使用者指南*。
   + 建立或使用安全群組，限制對執行個體的存取只能來自您的電腦，或是您組織的電腦。如需詳細資訊，請參閱「」[使用 Amazon EC2 進行設定](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/get-set-up-for-amazon-ec2.html)中的*Amazon EC2 執行個體使用者指南*。
   + 若您指定現有的金鑰對，請確認您有權存取金鑰對的私有金鑰。或者，建立新的金鑰對並將私有金鑰儲存在安全的位置。
   + 在繼續之前，請等待執行個體進入執行中狀態，並完成全部兩項運作狀態檢查。
   + 您的執行個體需要一個公有 IP 地址。如果尚未配置，請依照[彈性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-ip-addresses-eip.html)中的*Amazon EC2 執行個體使用者指南*。

## 後續步驟
<a name="kaw-ds2s3-tutorial-next"></a>

[步驟 2：安裝、設定及執行適用於視窗的 Kinesis 代理程式](kaw-ds2s3-tutorial-step2.md)

# 步驟 2：安裝、設定及執行適用於視窗的 Kinesis 代理程式
<a name="kaw-ds2s3-tutorial-step2"></a>

在此步驟中，您會使用 AWS 管理主控台遠端連線至您在[建立 Amazon EC2 執行個體以執行適用於視窗的 Kinesis 代理程式](kaw-ds2s3-tutorial-step1.md#kaw-ds2s3-tutorial-step1.4)。您接著會在執行個體上安裝 Amazon Kinesis imple Storage Agent，建立及部署適用於 Windows 的 Kinesis Agent 的組態檔案，然後啟動**智慧型手機**服務。

1. 透過 Remore 桌面通訊協定 (RDP) 遠端連線至執行個體，請遵循[步驟 2：連結到您的執行個體](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)中的*Amazon EC2 執行個體使用者指南*。

1. 在執行個體上，使用 Windows 伺服器管理員停用使用者和系統管理員的 Microsoft Internet Explorer 增強式安全性設定。如需詳細資訊，請參閱 Microsoft TechNet 網站上的 [How To Turn Off Internet Explorer Enhanced Security Configuration](https://blogs.technet.microsoft.com/chenley/2011/03/10/how-to-turn-off-internet-explorer-enhanced-security-configuration/)。

1. 在執行個體上，安裝並設定適用於 Windows 的 Kinesis 代理程式。如需詳細資訊，請參閱 [安裝適用於視窗的 Kinesis 代理程式](getting-started.md#getting-started-installation)。

1. 在執行個體上，使用記事本建立 Windows 組態檔的 Kinesis Agent (Kinesis Agent)。將檔案儲存至 `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json`。將以下內容新增至組態檔案：

   ```
   {
     "Sources": [
       {
         "Id": "JsonLogSource",
         "SourceType": "DirectorySource",
         "RecordParser": "SingleLineJson",
         "Directory": "C:\\LogSource\\",
         "FileNameFilter": "*.log",
         "InitialPosition": 0
       }
     ],
     "Sinks": [
       {
         "Id": "FirehoseLogStream",
         "SinkType": "KinesisFirehose",
         "StreamName": "log-delivery-stream",
         "Region": "us-east-1",
         "Format": "json",
         "ObjectDecoration": "ComputerName={ComputerName};DT={timestamp:yyyy-MM-dd HH:mm:ss}"
       }
     ],
     "Pipes": [
       {
         "Id": "JsonLogSourceToFirehoseLogStream",
         "SourceRef": "JsonLogSource",
         "SinkRef": "FirehoseLogStream"
       }
     ]
   }
   ```

   這個檔案會設定 Windows 的 Kinesis 代理程式，以便從`c:\logsource\`目錄 (*source*) 新增至 Kinesis Data Firehose 交付串流 (名為`log-delivery-stream`(*sink*。在每個日誌記錄串流至 Kinesis Data Firehose 前，它會使用兩個包含電腦名稱和時間戳記的額外鍵/值對增加。

1. 建立 `c:\LogSource\` 目錄，然後使用記事本在該目錄中建立包含以下內容的 `test.log` 檔案：

   ```
   { "Message": "Copasetic message 1", "Severity": "Information" }
   { "Message": "Copasetic message 2", "Severity": "Information" }
   { "Message": "Problem message 2", "Severity": "Error" }
   { "Message": "Copasetic message 3", "Severity": "Information" }
   ```

1. 在提高權限執行的 PowerShell 工作階段中，使用以下命令啟動 **AWSKinesisTap** 服務：

   ```
   Start-Service -ServiceName AWSKinesisTap
   ```

1. 使用檔案總管，瀏覽至 `%PROGRAMDATA%\Amazon\AWSKinesisTap\logs` 目錄。開啟最近的日誌檔案。日誌檔案看起來應該會和以下內容相似：

   ```
   2018-09-28 23:51:02.2472 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.AWS.AWSEventSinkFactory.
   2018-09-28 23:51:02.2784 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Windows.PerformanceCounterSinkFactory.
   2018-09-28 23:51:02.5753 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Core.DirectorySourceFactory.
   2018-09-28 23:51:02.5909 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.ExchangeSource.ExchangeSourceFactory.
   2018-09-28 23:51:02.5909 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Uls.UlsSourceFactory.
   2018-09-28 23:51:02.5909 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Windows.WindowsSourceFactory.
   2018-09-28 23:51:02.9347 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Core.Pipes.PipeFactory.
   2018-09-28 23:51:03.5128 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.AutoUpdate.AutoUpdateFactory.
   2018-09-28 23:51:03.5440 Amazon.KinesisTap.Hosting.LogManager INFO Performance counter sink  started.
   2018-09-28 23:51:03.7628 Amazon.KinesisTap.Hosting.LogManager INFO KinesisFirehoseSink id FirehoseLogStream for StreamName log-delivery-stream started.
   2018-09-28 23:51:03.7784 Amazon.KinesisTap.Hosting.LogManager INFO Connected source JsonLogSource to sink FirehoseLogStream
   2018-09-28 23:51:03.7940 Amazon.KinesisTap.Hosting.LogManager INFO DirectorySource id JsonLogSource watching directory C:\LogSource\ with filter *.log started.
   ```

   此日誌檔案會指出服務已啟動，並且現在已會從 `c:\LogSource\` 目錄收集日誌記錄。每一行都會剖析為單一 JSON 物件。電腦名稱和時間戳記的鍵/值對會新增至每個物件。然後，它會串流至 Kinesis Data Firehose。

1. 在一兩分鐘內，導覽至您在中建立的 Amazon S3 儲存貯體[建立 Amazon S3 儲存貯體](kaw-ds2s3-tutorial-step1.md#kaw-ds2s3-tutorial-step1.2)使用 AWS 管理主控台。確認您已在主控台上選擇正確的區域。

   在該儲存貯體中，有一個目前年份的資料夾。開啟該資料夾來顯示目前月份的資料夾。開啟該資料夾來顯示目前日期的資料夾。開啟該資料夾來顯示目前小時 (UTC) 的資料夾。開啟該資料夾來顯示名稱開頭為 `log-delivery-stream` 的一或多個項目。  
![\[螢幕擷取畫面，示範在 Amazon S3 中瀏覽日誌記錄。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/s3-view-log-stream.png)

1. 開啟最新項目的內容，確認日誌記錄已成功存放在 Amazon S3 中，並包含所需的增強。若一切都設定正確，內容看起來會和以下內容相似：

   ```
   {"Message":"Copasetic message 1","Severity":"Information","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"}
   {"Message":"Copasetic message 2","Severity":"Information","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"}
   {"Message":"Problem message 2","Severity":"Error","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"}
   {"Message":"Copasetic message 3","Severity":"Information","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"}
   ```

1. 如需解決任何下列問題的資訊，請參閱[針對微軟視窗的 Amazon Kinesis 代理程式疑難排解](troubleshooting-kinesis-agent-windows.md)：
   + Windows 日誌檔案的 Kinesis Agent 包含錯誤。
   + Amazon S3 中的預期資料夾或項目不存在。
   + Amazon S3 項目的內容不正確。

## 後續步驟
<a name="kaw-ds2s3-tutorial-step2-next"></a>

[步驟 3：在 Amazon S3 中查詢日誌資料](kaw-ds2s3-tutorial-step3.md)

# 步驟 3：在 Amazon S3 中查詢日誌資料
<a name="kaw-ds2s3-tutorial-step3"></a>

在這個 Amazon Kinesis 微軟視窗的最後一個步驟[教學課程](directory-source-to-s3-tutorial.md)，您使用 Amazon Athena Service (Amazon S3) 中存放在 Amazon Simple Storage Service (Amazon S3) 日誌資料。

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

1. 選擇加號 (**\$1**)，建立新的查詢視窗。  
![\[螢幕擷取畫面，示範如何在 Athena 中建立新的查詢視窗。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/athena-new-query.png)

1. 將以下文字輸入查詢視窗：

   ```
   CREATE DATABASE logdatabase
   
   CREATE EXTERNAL TABLE logs (
     Message string,
     Severity string,
     ComputerName string,
     DT timestamp
   )
   ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
   LOCATION 's3://bucket/year/month/day/hour/'
   
   SELECT * FROM logs
   SELECT * FROM logs WHERE severity = 'Error'
   ```

   將 *`bucket`* 替換成您在[建立 Amazon S3 儲存貯體](kaw-ds2s3-tutorial-step1.md#kaw-ds2s3-tutorial-step1.2)中建立的儲存貯體名稱。Replace*`year`*、*`month`*、*`day`*和*`hour`*，其中包含 Amazon S3 日誌檔案建立時的年份、月份、日期及小時 (UTC)。

1. 選取 `CREATE DATABASE` 陳述式的文字，然後選擇 **Run query (執行查詢)**。這會在 Athena 中建立日誌資料庫。

1. 選取 `CREATE EXTERNAL TABLE` 陳述式的文字，然後選擇 **Run query (執行查詢)**。這會建立一個參考包含日誌資料 S3 儲存貯體的 Athena 資料表，並將 JSON 的結構描述映射至 Athena 資料表的結構描述。

1. 選取第一個 `SELECT` 陳述式的文字，然後選擇 **Run query (執行查詢)**。這會顯示資料表中所有的資料列。  
![\[螢幕擷取畫面，示範使用 Athena 查詢日誌記錄。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/athena-first-select.png)

1. 選取第二個 `SELECT` 陳述式的文字，然後選擇 **Run query (執行查詢)**。這會只顯示資料表中代表包含 `Error` 層級嚴重性日誌記錄的資料列。這類查詢會從潛在的大型日誌記錄集中尋找有趣的日誌記錄。  
![\[螢幕擷取畫面，示範如何在 Athena 中查詢特定記錄類型。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/athena-second-query.png)

## 後續步驟
<a name="kaw-ds2s3-tutorial-step4-next"></a>

使用 AWS 管理主控台清除在教學期間建立的資源：

1. 終止 EC2 執行個體 (請參閱 [Amazon EC2 Windows 執行個體入門](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)中的步驟 3)。
**重要**  
如果您啟動的執行個體不在[AWS 免費方案](https://aws.amazon.com/free/)，您將需要在終止它之前支付執行個體的費用。

1. 刪除 Kinesis Data Firehose 交付串流。

   1. 開啟 Kinesis Data Firehose 主控台，網址為[https://console.aws.amazon.com/firehose/](https://console.aws.amazon.com/firehose/)。

   1. 選擇您建立的交付串流。

   1. 選擇 **Delete** (刪除)。

   1. 選擇 **Delete delivery stream (刪除交付串流)**。

1. 刪除 S3 儲存貯體。如需說明，請參閱「」[如何刪除 S3 儲存貯體？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/delete-bucket.html)中的*Amazon Storage Service 主控台使用者指南*。

如需詳細資訊，請參閱下列主題：
+ [設定適用於微軟視窗的 Amazon Kinesis](configuring-kinesis-agent-windows.md)
+ [什麼是 Amazon Kinesis Data Firehose？](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)
+ [什麼是 Amazon S3？](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html)
+ [什麼是 Amazon Athena？](https://docs.aws.amazon.com/athena/latest/ug/what-is.html)