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

SNS发布的消息未到达SQS

姜杜吟
2023-03-14

我通过自定义管理的KMS密钥有一个加密的SQS队列和SNS主题。目前,我正在使用下面链接中所述的类似类型的SQS策略,它可以正常工作SQS策略

但是如果我使用下面的SQS策略,它就不起作用了。出于安全原因,我不想将主体设置为“*”。有人能解释一下为什么会发生这种情况吗

    {
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"MySQSPolicy001",
      "Effect":"Allow",
      "Principal":{
    "AWS": "arn:aws:iam::123456789012:root"
  },
      "Action":"sqs:SendMessage",
      "Resource":"arn:aws:sqs:us-east-1:123456789012:MyQueue"
    }
  ]
}

共有1个答案

司寇高峯
2023-03-14

因此,如果您的队列策略中存在SNS arn条件,当多个主题需要发布到同一队列时,您可能需要再次添加arn

因此,解决方法将是以下策略。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Queue1_SendMessage",
      "Effect": "Allow",
      "Principal": {
        "Service": "sns.amazonaws.com",
        "AWS": "arn:aws:iam::1234567890:root"
      },
      "Action": [
        "sqs:SendMessage",
        "sqs:ReceiveMessage",
        "sqs:DeleteMessage"
      ],
      "Resource": "arn:aws:sqs:eu-central-1:1234567890:test-queue",
  "Condition": {
    "StringEquals": {
      "aws:SourceAccount": "1234567890"
    }
  }
    }
  ]
}
 类似资料:
  • 我试图使用他们文档中提到的masstransit配置将SNS主题订阅到SQS队列。消息已发布,但不会出现在SQS队列中。SQS队列名称:“测试”,SNS主题名称:“kbbico手动替换”。

  • 我正在寻找一种方式发布芹菜消息到SNS主题,以订阅多个队列。 我之所以要这样做,是因为我正在尝试使用Celery实现多个接收器模式

  • 我创建了一个SNS主题,通过cli发布来自Cloudformation的所有信息。然而,当我检查队列时,它没有接收任何SNS消息。我通过订阅我的电子邮件来验证SNS是否正常工作,所以问题似乎出在队列和SNS之间的连接上。然而,我没有发现我的语法有任何问题。一、 据我所知,他们严格遵循了亚马逊的文档。 猛击:

  • 物联网有很多设备,通过这条指令可以向某个特定的物联网设备发送特定的消息内容。 请求方式: "|4|1|3|topic|message|" 参数: topic 设置订阅的topic,获取设备topic可参考教程 message 发布消息的内容 返回值: "|4|1|3|1|\r" 消息发送成功 "|4|1|3|2|\r" 消息发送失败 Arduino样例: softSerial.print("|4|

  • 试图从JavaScript SDK发送SNS消息。从亚马逊sns控制台发送的消息显示得很好, 下面是亚马逊 SNS 控制台 JSON 生成器输出,这对我来说工作正常。 但当SNS通过代码发送时,它会抛出消息错误;我正在使用Cordova推送通知插件,它需要包含一个消息标签。 1)如何为GCM(Android平台)格式化消息并将其发送?2)如何包含消息属性?

  • 我有一个actor,它持有一个。您可以使用以下对象从所述商店进行读写: 存储以及其值响应。 为了方便找到这家店,我有另一个演员(一个客串),我在飞行中创造: 这使我能够将所述参与者的“定位”(即通过其路径)保持在一个位置,避免在移动时进行过多的返工。此有一个可选的目标参与者,一旦执行查找,将将结果发送到该参与者。在我做一些工作之前,我在另一个参与者中使用所有这些来获取配置值: 但当我这么做时,我得