Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何将CloudWatch规则正确附加到SNS主题?_Amazon Web Services_Amazon Sns_Amazon Cloudwatch - Fatal编程技术网

Amazon web services 如何将CloudWatch规则正确附加到SNS主题?

Amazon web services 如何将CloudWatch规则正确附加到SNS主题?,amazon-web-services,amazon-sns,amazon-cloudwatch,Amazon Web Services,Amazon Sns,Amazon Cloudwatch,我正在尝试从CloudWatch启动StepFunction。当事件源是日程表时,这就像一个符咒。然而,当我试图创建事件模式来观看相应的SNS主题时,CloudWatch并没有看到相关的出版物。 我尝试了两种默认模式: { "source": [ "aws.sns" ] } 以及使用arn: { "resources": [ "// SNS topic arn here" ], } 在这两种情况下,当我发布到主题时,什么都不会发生。我做错了什么? 更新:不幸

我正在尝试从CloudWatch启动StepFunction。当事件源是日程表时,这就像一个符咒。然而,当我试图创建事件模式来观看相应的SNS主题时,CloudWatch并没有看到相关的出版物。 我尝试了两种默认模式:

{
  "source": [
    "aws.sns"
  ]
}
以及使用arn:

{
  "resources": [
    "// SNS topic arn here"
   ],
}
在这两种情况下,当我发布到主题时,什么都不会发生。我做错了什么?
更新:不幸的是,我无法理解事件模式规则是用于什么的,它在其他条件下不起作用-即使是从lambda手动推送事件。我目前看到的解决问题的方法是创建CloudWatch调度规则,每1-3秒启动一次,禁用它。然后,我将从一个lambda将事件推送到SNS,从而启用这个CloudWatch规则。当它触发并启动步骤函数时,内部步骤函数将禁用该规则。这是胡说八道,但应该行得通

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

  statement {
    effect  = "Allow"
    actions = ["SNS:Publish"]

    principals {
      type        = "Service"
      identifiers = ["events.amazonaws.com"]
    }

    resources = ["${aws_sns_topic.sns_topic.arn}"]
  }

你有没有通过:@KushVyas这是关于从SNS界面订阅SNS的电子邮件。SNS接口中没有CloudWatch选项,所以只能从CloudWatch接口进行CloudWatch订阅。现在我不知道如何让它工作。你能让它工作吗?我正在尝试做类似的事情,不幸的是没有。最终的解决方案是使用其他工具进行一些变通。