测试和查询配置 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

测试和查询配置

本页将介绍如何通过将消息发布到 Amazon SNS 主题来测试消息存档和分析示例使用案例。这些说明包括一个示例查询,您可以运行并根据自己的需求对其进行调整。

测试配置

  1. 打开 Amazon SNS 控制台中的 Topics(主题)页面

  2. 选择 ticketTopic 主题。

  3. 选择发布消息

  4. Publish message to topic(发布消息到主题)页面上,为消息正文输入以下内容。在消息结尾处添加换行符。

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

    保留所有其他选项作为默认值。

  5. 选择发布消息

    有关发布消息的更多信息,请参阅 Amazon SNS 消息发布

  6. 在 60 秒的传输流间隔后,打开 Amazon Simple Storage Service (Amazon S3) 控制台并选择您最初创建的 Amazon S3 存储桶。

    存储桶中会显示已发布的消息。

要查询数据

  1. 打开 Amazon Athena 控制台

  2. 运行查询。

    例如,假设 default schema 中的 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 用户指南中的入门

清理

为避免在完成测试后产生使用费用,请删除您在本教程中创建的以下资源:

  • Amazon SNS 订阅

  • Amazon SNS 主题

  • Amazon Simple Queue Service (Amazon SQS) 队列

  • Amazon S3 存储桶

  • Amazon Kinesis Data Firehose 传输流

  • Amazon Identity and Access Management (IAM) 用户和策略