我使用CF模板创建Beanstalk环境。我想在创建环境时通过SNS触发Lambda代码,这样我就可以使用Lambda触发jenkins作业,并对新环境进行集成测试。
有没有办法在Beanstek中成功创建env后发送SNS消息?我已经定义了一个订阅lambda代码的主题。
beanstalk API允许您定义通知endpoint。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通知。这是唯一的办法吗?
虽然使用Elastic Beanstek配置通知并未提供发送Amazon SNS通知的特定示例,但email
只是resp的默认设置。AWS Elastic Beanstek选项设置,您还可以为大多数/所有其他协议创建订阅,请参阅选项aws: elasticbeanstek: sns:主题:
超文本传输协议
https
email
email-json
sqs
显然,这里还没有引用AWS Lambda,但它只是另一个SNS协议,所以我假设/希望该表还没有更新,下面的内容应该可以相应地工作(不过我自己还没有尝试):
{
"OptionName": "Notification Endpoint",
"Namespace": "aws:elasticbeanstalk:sns:topics",
"Value": "<Your Lambda function ARN>"
},
{
"OptionName": "Notification Protocol",
"Namespace": "aws:elasticbeanstalk:sns:topics",
"Value": "lambda"
},
我在回答我自己的问题。我设法找到了在创建新Beanstalk env后如何使用SNS触发lambda代码。
我创建了一个sns主题服务配置器
并将其ARN和名称添加到模板中。
{ "OptionName": "Notification Topic ARN", "Namespace": "aws:elasticbeanstalk:sns:topics", "Value": "arn:aws:sns:us-east-1:273218181234:service-configurator" }, { "OptionName": "Notification Topic Name", "Namespace": "aws:elasticbeanstalk:sns:topics", "Value": "service-configurator" }
接下来,我将sns主题设置为lambda代码的事件源。
现在,每当环境发生任何事情(添加/删除实例、创建环境等)时,都会触发lambda
我需要使用< code>aws-sns-javascript向多个设备发送推送通知。当我创建createPlatformEndpoint时,我可以只添加一个设备令牌,但我需要向多个设备发送通知,如一个数组令牌 创建平台应用程序 创建平台终端节点 向Amazon SNS主题发送消息
我的AWS社交网络停止向我的iOS订阅者发送推送通知,我正在试图了解原因。所以我从零开始,目标是向我的测试设备发送1个通知。 我已经做了以下工作: 在iOSDev Portal上创建新的Apple推送服务类型的新证书,而不是旧的APNsiOS生产,导入到钥匙串,导出证书和私钥,按照AWS SNS APNS说明中的说明将其添加到AWS。 已确认此新APNS证书显示在门户上我的应用ID的“生产SSL证
我需要使用< code>aws-sdk-go lib通过设备令牌数组向多个设备发送SNS推送通知。 目前我正在使用以下步骤向SNS发送推送消息: 创建endpoint: 将消息发送到endpoint: 我还没有见过一种方法,只使用一个请求就可以将一个推送消息发送到多个设备。可能吗? 像这个例子来说明:
我为沙盒iOS设置了推送通知,它们曾经工作过,但由于某种原因目前不工作。这是来自云观察日志的错误AWS SNS: 这是我的发送代码(AWS Lambda调用此代码): Lambda方法的返回数据: 我已经将问题缩小到不与我的lambda方法关联,因为我试图发布到直接从SNS控制台创建的endpoint。我还想知道为什么这个旧的实现在过去,一个月或两个月前,仍然有效,而现在不再有效。我认为这可能与过
问题 你想创建一个新的Python环境,用来安装模块和包。 不过,你不想安装一个新的Python克隆,也不想对系统Python环境产生影响。 解决方案 你可以使用 pyvenv 命令创建一个新的“虚拟”环境。 这个命令被安装在Python解释器同一目录,或Windows上面的Scripts目录中。下面是一个例子: bash % pyvenv Spam bash % 传给 pyvenv 命令的名字是