Jon*_*nas 4 amazon-sqs amazon-web-services aws-cloudformation
如果我通过 Cloudformation 创建一个 SQS 队列,您能否在创建 SQS 队列后附加第二个 QueuePolicy?
如果我确实运行以下配置:
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
Run Code Online (Sandbox Code Playgroud)
我可以创建另一个附加到创建的队列的 QueuePolicy 吗?我将如何附加它?通过 ARN?
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
Run Code Online (Sandbox Code Playgroud)
在您的第一个模板中,确保导出队列 URL 和名称:
Outputs:
QueueURL:
Value: !Ref SQSQueue
Export:
Name: ExampleStack-QueueURL
QueueName:
Value: !GetAtt SQSQueue.QueueName
Export:
Name: ExampleStack-QueueName
Run Code Online (Sandbox Code Playgroud)
在第二个模板中导入新导出的值(不需要 DependsOn):
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4316 次 |
| 最近记录: |