您可以通过在AWS控制台中手动更新策略来解决此问题。更好的方法是使用AWS CLI将策略程序化更新,如下所示:
示例代码:
aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic --protocol lambda --notification-endpoint arn:aws:lambda:us-east-1:123456789012:function:MyFunction
aws sqs create-queue --queue-name MyQueue
aws sqs set-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue --attribute-name Policy --attribute-value '{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:us-east-1:123456789012:MyQueue", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:us-east-1:123456789012:MyTopic" } } } ] }'
aws sns publish --topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic --message "Hello world!"