SNS SQS - не получает сообщения, помещенные в очередь из темы SNS - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть SNS topi c TestTopic, у меня есть очередь SQS newtestqueue-ev, у меня есть приложение java, которое будет отправлять sh сообщения либо в topi c, либо в очередь. У меня есть приложение Java, которое читает из очереди.

Когда я помещаю sh в очередь через консоль java app / aws, я получаю сообщение в своем приложении. Когда я отправляю sh сообщение в topi c, который имеет очередь 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 и шифрование по sns topi c с использованием значения по умолчанию alias/aws/sns

1 Ответ

0 голосов
/ 27 февраля 2020

Вы не можете использовать ключ KMS по умолчанию в очереди SNS, вам нужно создать новый и добавить его к нему

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