【问题标题】:Access Event ID in a AWS RDS Event subscription访问 AWS RDS 事件订阅中的事件 ID
【发布时间】:2020-02-12 00:17:35
【问题描述】:

作为described in the documentation,在创建RDS 事件订阅时,您可以选择任意数量的事件类别,它们将产生特定的事件消息

然后您可以选择将通知发送到电子邮件SMS,或者在我的情况下,发送到SNS 主题触发 Lambda 执行。

如何从 Lambda event 参数访问 RDS 事件 ID - 即 RDS-EVENT-0006

【问题讨论】:

  • 我建议在 Lambda 函数中添加 print(event) 语句。然后,从 RDS 触发该功能。这将导致事件转储到 CloudWatch Logs(如果您的权限设置正确)。然后您将能够看到所提供的字段,并且您可以解析出事件 ID。
  • 谢谢@JohnRotenstein,你知道有没有办法模拟事件触发器?
  • AWS Lambda 控制台具有测试功能,您可以在其中提供事件消息。这样,您无需使用触发器即可测试 Lambda 函数,但函数的行为相同。
  • @JohnRotenstein 准确地说,我想弄清楚的是该事件消息的拓扑是什么......
  • 最好的方法是触发这样的消息并在日志中捕获。

标签: amazon-web-services aws-lambda amazon-rds


【解决方案1】:

像这个 cloudformation 示例一样添加触发事件:

 

DbRestoredEventRule:
  Type: AWS::Events::Rule
  Properties:
    Name: "xyz-db-restored"
    Description: "xyz restored"
    EventPattern:
      source:
        - "aws.rds"
      detail-type:
        - "RDS DB Instance Event"
      detail:
        EventCategories:
          - "availability"
      Message:
        - 'DB instance restarted'
    Targets:
      - Arn:
          Fn::GetAtt:
            - "MigrationDataFunction"
            - "Arn"
        Id: "TargetFunctionV1"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-07
    • 2014-11-27
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多