SNS SQS-未收到从SNS主题推送到队列的消息

时间:2020-02-27 12:27:58

标签: amazon-web-services amazon-sqs amazon-sns

我有一个SNS主题TestTopic,我有一个SQS队列newtestqueue-ev,我有一个Java应用程序,它将消息推送到主题或队列中。我有一个从队列读取的Java应用程序。

当我通过Java应用程序/ AWS控制台推送到队列时,我在应用程序中收到消息。当我将消息推送到具有SQS队列作为订户的主题时,我没有收到任何消息。

这是将权限添加到SQS队列

{
  "Version": "2012-10-17",
  "Id": "arn:aws:sqs:eu-west-1:<accountnum>:newtestqueue-ev/SQSDefaultPolicy",
  "Statement": [
    {
      "Sid": "sidNum",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "SQS:SendMessage",
      "Resource": "arn:aws:sqs:eu-west-1:<accountNum>:newtestqueue-ev",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "arn:aws:sns:eu-west-1:<accountNum>:TestTopic"
        }
      }
    }
  ]
}

我使用默认密钥alias/aws/sqs在队列上启用了加密,并使用默认alias/aws/sns在sns主题上进行了加密

1 个答案:

答案 0 :(得分:1)

您不能在SNS队列上使用默认的kms密钥,需要创建一个新的kms密钥并将其添加到其中

{
         "Effect": "Allow",
         "Principal": {
                "Service": "sns.amazonaws.com"
             },
         "Action": [
            "kms:GenerateDataKey*",
            "kms:Decrypt"
         ],
         "Resource": "*"
       }