我正在尝试使用一个 .bat 文件自动创建多个 AWS 服务。现在我正在尝试创建一些标准的 SQS 队列,每个队列都订阅了一个标准的 SNS 主题。我可以成功创建主题、队列和订阅,但是我在使用正确的批处理语法通过 CLI 设置权限时遇到了麻烦。到目前为止,我已经做了类似的事情:
@echo off
set region=us-east-1
set account_id=123456789012
@echo Creating SNS topics
aws sns create-topic --name some-topic
@echo Creating SQS queues
aws sqs create-queue --queue-name some-queue
@echo Subscribing queues to topics
aws sns subscribe --topic-arn arn:aws:sns:%region%:%account_id%:some-topic --protocol sqs --notification-endpoint arn:aws:sqs:%region%:%account_id%:some-queue
@echo Adding publishing permissions to SNS and SQS
aws sqs set-queue-attributes --queue-url https://sqs.%region%.amazonaws.com/account_id/some-queue --attributes Policy= "{'Version':'2012-10-17','Statement':[{'Effect':'Allow','Principal':{'AWS':'*'},'Action':'sqs:SendMessage','Resource':'arn:aws:sqs:%region%:%account_id%:some-topic','Condition':{'ArnEquals':{'aws:SourceArn':'arn:aws:sns:%region%:%account_id%:some-topic'}}}]}"
前 3 个命令完美运行,但我似乎无法找到设置权限的简单工作方式。我尝试了几种不同的方法,但都不起作用。对于从 .bat 文件设置这些权限的最简单方法的任何提示,我将不胜感激。
谢谢!