SNS SQS - 未收到从 SNS 主题推送到队列的消息
SNS SQS - Not receiving messages that were pushed to queue from SNS topic
我有一个 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 主题上启用了加密
您不能在 SNS 队列上使用默认的 kms 密钥,您需要创建一个新密钥并将其添加到其中
{
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey*",
"kms:Decrypt"
],
"Resource": "*"
}
我有一个 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 队列上使用默认的 kms 密钥,您需要创建一个新密钥并将其添加到其中
{
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey*",
"kms:Decrypt"
],
"Resource": "*"
}