首页 文章

如何正确地将CloudWatch规则附加到SNS主题?

提问于
浏览
1

我正在尝试从CloudWatch启动StepFunction . 当事件源是一个时间表时,这就像一个魅力 . 但是,当我尝试创建事件模式以观察相应的SNS主题时,CloudWatch不会看到它的发布 . 我试过两种默认模式:

{
  "source": [
    "aws.sns"
  ]
}

并使用arn:

{
  "resources": [
    "// SNS topic arn here"
   ],
}

在这两种情况下,当我发布主题时没有任何反应 . 我究竟做错了什么?更新:不幸的是我无法理解什么是“事件模式”规则,它在其他条件下不起作用 - 即使事件是从lambda手动推送的 . 我目前看到的解决方法是创建CloudWatch计划规则,每1-3秒启动一次,禁用它 . 然后从lambda我将事件推送到SNS使这个CloudWatch规则启动 . 当它触发并启动步骤功能时,在步骤功能内禁用该规则 . 这是无稽之谈,但应该有效 .

1 回答

  • -1

    确保您的SNS主题具有允许events.amazonaws.com发布到其中的策略集,例如:

    statement {
        effect  = "Allow"
        actions = ["SNS:Publish"]
    
        principals {
          type        = "Service"
          identifiers = ["events.amazonaws.com"]
        }
    
        resources = ["${aws_sns_topic.sns_topic.arn}"]
      }
    

相关问题