Athena Queries, Lambda and SNS



我已经创建了一组自定义指标,我使用athena查询进行分析,但我正在尝试自动化过程,并可以使用Lambda函数安全地运行查询,但我需要将查询结果发送到SNS主题,这样我就不必手动登录AWS每天查看结果。我对此很陌生,需要一些帮助,请说明如何实现这一点?

THis是我使用lamdba函数运行的查询,它是由事件触发的(在事件桥上安排(。它所做的是获得我的实例的磁盘利用率;custom_deskulization"是一个具有名为use%的列的表。我想运行查询以输出使用结果%>70,并将其发送到SNS主题。Lambda函数

直接在Athena 上运行时的查询结果

所以您已经有了获取查询结果的逻辑,缺少的步骤是

  1. 将查询结果转换为要发布的任何格式(对象(
  2. 将转换后的结果写入SNS

对于第一步,决定是否要发布一个包含所有利用率为>70%或多个通知,每个通知包含一个利用率>70%。两者都是有效的方法,这实际上取决于SNS主题中什么更有用。如果您不确定查询结果一开始是什么样子的,我建议您将其记录下来,以便查看结构。

对于第二步,您可以查看例如SNS中的boto3发布消息和boto3发布信息SNS(有几个非常相似的问题(。

另外需要注意的是:放置> 70%过滤器的正确位置可能是您的Athena查询中,因为您有一列use %。这将节省您在Lambda中添加逻辑的费用,并减少Athena需要发回给您的数据量。

最新更新