![](/img/trans.png)
[英]Is to possible to create SNS topic with multiple email Recipients in cloudformation template?
[英]Cloudformation template to create multiple SQS
我正在尝试使用单个 cloudformation 模板创建 2 个 SQS。 我想对两个队列应用相同的队列策略。 目前我有下面的模板来创建 1 个队列及其相应的 dlq。 我是否必须将所有资源都写入两次,或者我是否可以为 Queue2 重复使用相同的队列策略?
Resources:
Queue1:
Type: AWS::SQS::Queue
Properties:
RedrivePolicy:
deadLetterTargetArn: !GetAtt DeadLetterQueue.Arn
maxReceiveCount: 10
QueueName: queue1
MessageRetentionPeriod: 604800
VisibilityTimeout: 150
ReceiveMessageWaitTimeSeconds: 0
DeadLetterQueue1:
Type: AWS::SQS::Queue
Properties:
QueueName: queue1-dlq
MessageRetentionPeriod: 1209600
QueuePolicy:
Type: AWS::SQS::QueuePolicy
Properties:
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: allow-service-to-read-and-write-messages
Effect: Allow
Principal:
AWS:
- !Sub arn:aws:iam::${AWS::AccountId}:role/User
Resource: !GetAtt Queue1.Arn
Action:
- SQS:ChangeMessageVisibility
- SQS:DeleteMessage
- SQS:GetQueueUrl
- SQS:ReceiveMessage
- SQS:SendMessage
Queues:
- !Ref Queue1
DeadLetterQueuePolicy:
Type: AWS::SQS::QueuePolicy
Properties:
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: allow-service-to-read-messages
Effect: Allow
Principal:
AWS:
- !Sub arn:aws:iam::${AWS::AccountId}:role/User
Resource: !GetAtt DeadLetterQueue1.Arn
Action:
- SQS:ChangeMessageVisibility
- SQS:DeleteMessage
- SQS:GetQueueUrl
- SQS:ReceiveMessage
- Sid: allow-queue-to-send-messages
Effect: Allow
Principal: '*'
Resource: !GetAtt DeadLetterQueue1.Arn
Action:
- SQS:SendMessage
Condition:
ArnEquals:
"aws:SourceArn": !Ref Queue1
Queues:
- !Ref DeadLetterQueue1
Outputs:
SourceQueueURL:
Description: URL of source queue
Value:
Ref: Queue1
SourceQueueARN:
Value: !GetAtt Queue1.Arn
Description: Arn of created SQS
DeadLetterQueueURL:
Description: URL of dead-letter queue
Value:
Ref: DeadLetterQueue1
DeadLetterQueueARN:
Value: !GetAtt DeadLetterQueue1.Arn
Description: Arn of created SQS
仅尝试了 1 个队列并且工作正常
您必须为第二个队列单独创建策略,因为它具有不同.GetAtt DeadLetterQueue1.Arn
。 如果您不想这样做,您可以将策略提取到不同的模板,并将该模板用作带有队列的模板中的嵌套堆栈。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.