如何使用 .bat 文件中的 AWS CLI 命令设置 sqs:SendMessages 权限以将 SNS 消息发送到 SQS?

问题描述 投票:0回答:0

我正在尝试使用一个 .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 文件设置这些权限的最简单方法的任何提示,我将不胜感激。

谢谢!

amazon-web-services batch-file aws-cli amazon-sqs amazon-sns
© www.soinside.com 2019 - 2024. All rights reserved.