【发布时间】:2015-12-05 23:35:53
【问题描述】:
我使用 CF 模板来创建 Beanstalk 环境。我想在创建环境时通过 SNS 触发 Lambda 代码,这样我就可以使用 lambda 来触发 jenkins 作业以及新环境的集成测试。
在 Beanstalk 中成功创建环境后,有没有办法发送 SNS 消息?我已经定义了一个订阅 lambda 代码的主题。
beantalk API 允许您定义通知端点。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.sns.html
但是,如果我只能指定一个电子邮件地址并且我必须确认订阅,这是为了什么?如何使用它来自动触发 SNS 消息?
{
"OptionName": "Notification Endpoint",
"Namespace": "aws:elasticbeanstalk:sns:topics",
"Value": "no-reply@example.com"
},
{
"OptionName": "Notification Protocol",
"Namespace": "aws:elasticbeanstalk:sns:topics",
"Value": "email"
},
我发现的解决方法有点老套。我在堆栈创建过程结束时创建了一个 EC2 实例,并运行一些 AWS 命令以通过 UserData shell 发送 SNS 通知。这是唯一的方法吗?
【问题讨论】:
-
请注意,本文中出现的 JSON 语法与最新的 Amazon 参考文档 (docs.aws.amazon.com/elasticbeanstalk/latest/dg/…) 上的语法不一致。你有 ("OptionName", "Namespace", "Value");他们有(“option_name”、“namespace”、“value”)。这似乎是一张通向精神错乱的门票。
标签: amazon-web-services notifications amazon-sns amazon-elastic-beanstalk aws-lambda