Amazon web services Amazon AWS SQS-将QueuePolicy应用于现有队列
如果我通过Cloudformation创建SQS队列,您是否能够在创建SQS队列后附加第二个QueuePolicy 如果我运行以下配置:Amazon web services Amazon AWS SQS-将QueuePolicy应用于现有队列,amazon-web-services,amazon-cloudformation,amazon-sqs,Amazon Web Services,Amazon Cloudformation,Amazon Sqs,如果我通过Cloudformation创建SQS队列,您是否能够在创建SQS队列后附加第二个QueuePolicy 如果我运行以下配置: Resources: SQSQueue: Properties: QueueName: !Ref SQSQueuename Type: 'AWS::SQS::Queue' QueuePolicy: Type: 'AWS::SQS::QueuePolicy' Properties: PolicyDo
Resources:
SQSQueue:
Properties:
QueueName: !Ref SQSQueuename
Type: 'AWS::SQS::Queue'
QueuePolicy:
Type: 'AWS::SQS::QueuePolicy'
Properties:
PolicyDocument:
Id: !Ref SQSQueuename
Statement:
- Sid: QueuePolicy2-SendMessage-To-Queue-From-SNS-Topic
Effect: Allow
Principal:
AWS: !Ref AccountID
Action:
- 'sqs:*'
Resource: 'arn:aws:sqs:eu-central-1:123456789010:${SQSQueuename}'
Queues:
- !Ref SQSQueue
DependsOn:
- SQSQueue
我是否能够创建附加到已创建队列的另一个QueuePolicy?我该如何连接它?维亚恩
Resources:
SecondQueuePolicy:
Type: 'AWS::SQS::QueuePolicy'
Properties:
PolicyDocument:
Id: !Ref SQSQueuename
Statement:
- Sid: QueuePolicy2-SendMessage-To-Queue-From-SNS-Topic
Effect: Allow
Principal:
AWS: !Ref AccountID
Action:
- 'sqs:*'
Resource: 'arn:aws:sqs:eu-central-1:123456789010:${SQSQueuename}'
Queues:
- !Ref SQSQueue <-- how do i ref to the Queue ?
DependsOn:
- SQSQueue
资源:
第二队列策略:
类型:“AWS::SQS::QueuePolicy”
特性:
政策文件:
身份证:!参考SQSQueuename
声明:
-Sid:QueuePolicy2从SNS主题向队列发送消息
效果:允许
负责人:
AWS:!参考帐户ID
行动:
-“sqs:”
参考资料:“arn:aws:sqs:eu-central-1:12345678910:${sqsqqueuename}”
队列:
- !在第一个模板中,请确保导出队列URL和名称:
Outputs:
QueueURL:
Value: !Ref SQSQueue
Export:
Name: ExampleStack-QueueURL
QueueName:
Value: !GetAtt SQSQueue.QueueName
Export:
Name: ExampleStack-QueueName
在第二个模板中,导入新导出的值(不需要DependsOn):
第二个策略将是第二个CloudFormation堆栈的一部分吗?如果是这种情况,您可以使用Fn::ImportValue
,sqsqsquename
取自最初的问题,但并不相关。使用sqsqsqueue.Arn
确实会更好。也许它在2017年不可用,或者我当时忽略了它。谢谢你指出这一点。
SecondQueuePolicy:
Type: 'AWS::SQS::QueuePolicy'
Properties:
PolicyDocument:
Id: !Ref SQSQueuename
Statement:
- Sid: QueuePolicy2-SendMessage-To-Queue-From-SNS-Topic
Effect: Allow
Principal:
AWS: !Ref AccountID
Action:
- 'sqs:*'
Resource:
Fn::Sub:
- 'arn:aws:sqs:eu-central-1:123456789010:${QueueName}'
- QueueName:
Fn::ImportValue: ExampleStack-QueueName
Queues:
- Fn::ImportValue: ExampleStack-QueueURL