amazon-web-services - AWS Beanstalk - 创建新环境时向 Lambda 发送 SNS 通知

标签 amazon-web-services notifications amazon-sns amazon-elastic-beanstalk aws-lambda

我使用 CF 模板来创建 Beanstalk 环境。我想在创建环境时通过 SNS 触发 Lambda 代码,这样我就可以使用 lambda 来触发 jenkins 作业,并对新环境进行集成测试。

在 Beanstalk 中成功创建环境后,是否可以发送 SNS 消息?我已经定义了 lambda 代码订阅的主题。

beanstalk API 允许您定义通知端点。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.sns.html

但是,如果我只能指定电子邮件地址并且必须确认订阅,这有什么用呢?如何使用它自动触发SNS消息?

      {
        "OptionName": "Notification Endpoint",
        "Namespace": "aws:elasticbeanstalk:sns:topics",
        "Value": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4e2021633c2b3e22370e2b362f233e222b602d2123" rel="noreferrer noopener nofollow">[email protected]</a>"
      },
      {
        "OptionName": "Notification Protocol",
        "Namespace": "aws:elasticbeanstalk:sns:topics",
        "Value": "email"
      },

我发现的解决方法有点hacky。我在堆栈创建过程结束时创建了一个 EC2 实例,并运行一些 AWS 命令​​以通过 UserData shell 发送 SNS 通知。这是唯一的方法吗?

最佳答案

我正在回答我自己的问题。我设法弄清楚如何在创建新的 Beanstalk 环境后使用 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

关于amazon-web-services - AWS Beanstalk - 创建新环境时向 Lambda 发送 SNS 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32489048/

相关文章:

amazon-web-services - Spring Boot 和 AWS RDS 只读副本

mysql - 将 MySQL 事件通知回 Delphi 应用程序

android - 如何从网站向 Android 发送 Firebase 通知

aws-lambda - 如何从另一个触发一个 AWS Lambda 函数,保证第二个只运行一次?

amazon-web-services - 是否需要 AWS SQS

sql-server - 无法从 SSMS 连接到 AWS 数据库

amazon-web-services - 与主机同步失败 : -ERR unknown command 'SYNC'

spring - 无法从链中的任何提供商加载 AWS 凭证 - 配置文件不能为空

javascript - 在 Angular 中生成 AWS 签名请求

ios - 移动应用好友邀请/通知