本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
测试和查询 Amazon SNS 配置以实现有效的数据管理
本页介绍如何通过向 Amazon SNS 主题发布消息来测试消息存档和分析示例用例。这些说明包括一个示例查询,您可以运行并根据自己的需求对其进行调整。
测试配置
-
打开 Amazon SNS 控制台的主题页面
。 -
选择
ticketTopic
主题。 -
选择发布消息。
-
在 Publish message to topic(发布消息到主题)页面上,为消息正文输入以下内容。在消息结尾处添加换行符。
{"BookingDate":"2020-12-15","BookingTime":"2020-12-15 04:15:05","Destination":"Miami","FlyingFrom":"Vancouver","TicketNumber":"abcd1234"}
保留所有其他选项作为默认值。
-
选择发布消息。
有关发布消息的更多信息,请参阅 发布亚马逊SNS消息。
-
在 60 秒的传输流间隔后,打开 Amazon Simple Storage Service (Amazon S3) 控制台
并选择您最初创建的 Amazon S3 存储桶。 存储桶中会显示已发布的消息。
要查询数据
-
运行查询。
例如,假设
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 用户指南中的入门。
清理
为避免在完成测试后产生使用费用,请删除您在本教程中创建的以下资源:
-
亚马逊SNS订阅
-
亚马逊SNS话题
-
亚马逊简单队列服务 (AmazonSQS) 队列
-
Amazon S3 存储桶
-
亚马逊 Data Firehose 传送流
-
AWS Identity and Access Management (IAM) 角色和政策