

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 効果的なデータ管理のための Amazon SNS 設定のテストとクエリ
<a name="firehose-example-test-and-query"></a>

このトピックでは、Amazon SNS トピックにメッセージを発行することにより、[メッセージのアーカイブと分析の例を示すユースケース](firehose-example-use-case.md)をテストする方法について説明します。手順には、実行してお客様独自のニーズに適応できるクエリの例が含まれています。

**設定をテストするには**

1. Amazon SNS コンソールの [[トピック] ページ](https://console.aws.amazon.com/sns/home#/topics)を開きます。

1. [**ticketTopic** トピック] を選択します。

1. [**メッセージの発行**] を選択します。

1. [**Publish message to topic**] ページで、メッセージ本文に次のように入力します。メッセージの末尾に改行文字を追加します。

   ```
   {"BookingDate":"2020-12-15","BookingTime":"2020-12-15 04:15:05","Destination":"Miami","FlyingFrom":"Vancouver","TicketNumber":"abcd1234"}
   ```

   他のすべてのオプションはデフォルト設定のままにします。

1. [**メッセージの発行**] を選択します。

   公開の詳細については、「[Amazon SNS メッセージの発行](sns-publishing.md)」を参照してください。

1. 配信ストリームの間隔が 60 秒になったら、[はじめに作成した](firehose-example-initial-resources.md) [Amazon Simple Storage Service (Amazon S3) コンソール](https://console.aws.amazon.com/s3/home)と Amazon S3 バケットを選択します。

   バケットには、発行されたメッセージが表示されます。

**データをクエリするには**

1. [Amazon Athena コンソール](https://console.aws.amazon.com/athena/home)を開きます。

1. クエリを実行する

   例えば、`default` スキーマの `notifications` テーブルには、以下のデータが含まれていることを前提とします。

   ```
   {"BookingDate":"2020-12-15","BookingTime":"2020-12-15 04:15:05","Destination":"Miami","FlyingFrom":"Vancouver","TicketNumber":"abcd1234"}
   {"BookingDate":"2020-12-15","BookingTime":"2020-12-15 11:30:15","Destination":"Miami","FlyingFrom":"Omaha","TicketNumber":"efgh5678"}
   {"BookingDate":"2020-12-15","BookingTime":"2020-12-15 3:30:10","Destination":"Miami","FlyingFrom":"NewYork","TicketNumber":"ijkl9012"}
   {"BookingDate":"2020-12-15","BookingTime":"2020-12-15 12:30:05","Destination":"Delhi","FlyingFrom":"Omaha","TicketNumber":"mnop3456"}
   ```

   トップの送信先を確認するには、以下のクエリを実行します。

   ```
   SELECT destination
   FROM default.notifications
   GROUP BY destination
   ORDER BY count(*) desc
   LIMIT 1;
   ```

   特定の日付と時刻の範囲内で販売されたチケットをクエリするには、以下のようなクエリを実行します。

   ```
   SELECT * 
   FROM default.notifications 
   WHERE bookingtime 
     BETWEEN TIMESTAMP '2020-12-15 10:00:00' 
     AND TIMESTAMP '2020-12-15 12:00:00';
   ```

   両方のサンプルクエリをお客様独自のニーズに合わせて調整できます。Athena を使用してクエリを実行する方法の詳細については、『*Amazon Athena ユーザーガイド*』の「[開始方法](https://docs.aws.amazon.com/athena/latest/ug/getting-started.html)」を参照してください。

## クリーンアップ
<a name="firehose-example-cleanup"></a>

テスト完了後に利用料金が発生しないようにするには、チュートリアル中に作成した以下のリソースを削除します。
+ Amazon SNS サブスクリプション
+ Amazon SNS トピック
+ Amazon Simple Queue Service (Amazon SQS) キュー
+ Amazon S3 バケット
+  配信ストリーム
+ AWS Identity and Access Management (IAM) ロールとポリシー