当前位置: 首页 > 知识库问答 >
问题:

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

冯野
2023-03-14

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

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

并使用arn:

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

在这两种情况下,当我发布到主题时都没有发生任何事情。我做错了什么?更新:不幸的是,我不明白“事件模式”规则是干什么的,它在其他情况下不起作用——即使事件是从lambda手动推送的。我目前看到的解决我的问题的方法是创建CloudWatch时间表规则,每1-3秒启动一次,禁用它。然后从lambda我要将事件推送到SNS,使这个CloudWatch规则能够触发。当它触发并启动步骤函数时,在步骤函数中禁用该规则。这是无稽之谈,但它应该可以工作。

共有1个答案

冯渝
2023-03-14

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

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

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

    resources = ["${aws_sns_topic.sns_topic.arn}"]
  }
 类似资料:
  • 我正在尝试按照本指南将消息从未加密的SNS主题传递到加密的SQS队列。我能够完成“为AWS服务配置KMS权限”步骤,但在“为生产者配置KMS权限”步骤中遇到了问题。我已经创建了IAM角色,但是将这个角色附加到我的SNS主题是我特别困惑的地方。以下是我自己的研究无法回答的一些问题: IAM角色是否可以附加到特定项目(SNS主题、SQS队列等)?如果没有,还有什么其他方法可以授予特定项目的权限 当说明

  • 我有一个附加在CloudWatch事件上的lambda,一旦事件触发,lambda将通过以下代码删除规则: 提前感谢!

  • 如何将json结果正确附加到select选项, json数据样本 Ajax代码: html代码: 我已经设置为我的php文件

  • 我想将Lambda目标添加到现有的CloudWatch规则中。我使用以下内容引用现有规则: 后来我添加了一个目标: 执行cdk synth或deploy时,出现以下错误: 对象没有属性add_target 我知道IRule元素没有那种方法,但我找不到一个明确的方法来实现我所需要的。 我还尝试在Lambda中使用事件源,但出现以下错误: 无法识别的事件源,必须是kinesis、Dynamodb st

  • 我创建了具有以下事件模式的CloudWatch规则: 其思想是,每当集群的状态发生变化时,它都会调用lambda函数。 现在的问题是,当它调用lambda函数时,会出现以下错误: 带代码: 那么,我应该使用哪个类来解析CloudWatch规则事件? 谢谢你。

  • 问题内容: 我正在尝试将Integer数组添加到Set中,如下所示: 我收到以下错误提示, 其次,我也尝试按照以下步骤进行操作,但仍然出现错误, 如何在Java中正确地将Integer数组添加到Set中?谢谢。 问题答案: 您需要使用包装器类型才能使用 或 手动添加元素,例如 最后,如果您需要保留插入顺序,则可以使用。