我正在使用 Redshift 计划查询来运行 UNLOAD 命令。如果查询失败,我想收到通知。我启用了 SNS,但无论作业是成功还是失败,消息都是一样的。如何仅在作业失败时收到通知?
更新: 我可以使用以下命令获得错误消息的响应。我如何设置 CloudWatch 或其他一些服务来对此进行监控并发送通知?
aws redshift-data describe-statement --id {id} --region us-west-2
有几种选择:
您可以使用带有 boto3 的 lambda 函数来检查 redshift 上的查询是否成功运行
您还可以使用 lambda 函数来检查 cloudwatch 中的日志
我们在 python lambda 函数中实现的解决方案:
aws events list-rules
.aws events list-targets-by-rule
STL_QUERY
和querytxt
匹配,尝试在starttime
中找到它。您可以使用 pyawscron 将您的 CRON 转换为时间戳。此解决方案可以根据您的需要轻松增强。
在
STL_QUERY
中促进查找的提示:为您的预定查询使用特定的user
。
希望对您有所帮助