我正在尝试从CloudWatch启动StepFunction。当事件源是日程表时,这就像一个魅力。但是,当我尝试创建事件模式来观看相应的SNS主题时,CloudWatch看不到该出版物。 我尝试了两种默认模式:
{
"source": [
"aws.sns"
]
}
并使用arn:
{
"resources": [
"// SNS topic arn here"
],
}
在两种情况下,当我发布到主题时,都不会发生任何事情。我究竟做错了什么? 更新:不幸的是,我不明白什么是“事件模式”规则,它在其他情况下不起作用-即使从lambda手动推送事件也是如此。我目前看到的解决问题的方法是创建CloudWatch调度规则,使其每1-3秒启动一次,并将其禁用。然后我要从lambda将事件推送到SNS,以启用此CloudWatch规则。当它触发并启动Step Function时,在Step Function内部禁用该规则。这是胡说八道,但应该可以。
答案 0 :(得分:-1)
确保您的SNS主题具有一个允许event.amazonaws.com对其发布的策略集,例如:
statement {
effect = "Allow"
actions = ["SNS:Publish"]
principals {
type = "Service"
identifiers = ["events.amazonaws.com"]
}
resources = ["${aws_sns_topic.sns_topic.arn}"]
}