我想创建一个连接到死信队列的SQS队列。我希望将收到的但无法从SQS队列正确处理的消息放入死信队列。另外,我想进行云形成设置。我看了these docs。但是我仍然对设置过程有疑问。我在显示如何执行此操作的页面上看到了一些代码片段:
AWSTemplateFormatVersion: "2010-09-09"
Resources:
MySourceQueue:
Type: AWS::SQS::Queue
Properties:
RedrivePolicy:
deadLetterTargetArn:
Fn::GetAtt:
- "MyDeadLetterQueue"
- "Arn"
maxReceiveCount: 5
MyDeadLetterQueue:
Type: AWS::SQS::Queue
Outputs:
SourceQueueURL:
Description: "URL of the source queue"
Value:
Ref: "MySourceQueue"
SourceQueueARN:
Description: "ARN of the source queue"
Value:
Fn::GetAtt:
- "MySourceQueue"
- "Arn"
DeadLetterQueueURL:
Description: "URL of the dead letter queue"
Value:
Ref: "MyDeadLetterQueue"
DeadLetterQueueARN:
Description: "ARN of the dead letter queue"
Value:
Fn::GetAtt:
- "MyDeadLetterQueue"
- "Arn"
我的问题是:
1)此代码段是否适用于1 sqs /死信队列?所以如果我想 做很多,我会为每个人复制整个区块吗?
2)如果sqs队列已经存在,但是我想添加一个无效的字母 在云形成中加入队列,我可以只输入该队列的名称吗 在某处并生成正确的死信队列?还是我 必须拆除旧队列并用云重新创建它们 形成?
答案 0 :(得分:0)
此代码段正在创建一个名为MyDeadLetterQueue
的Amazon SQS队列:
MyDeadLetterQueue:
Type: AWS::SQS::Queue
此代码段:
MySourceQueue:
Type: AWS::SQS::Queue
Properties:
RedrivePolicy:
deadLetterTargetArn:
Fn::GetAtt:
- "MyDeadLetterQueue"
- "Arn"
maxReceiveCount: 5
说:
MySourceQueue
的Amazon SQS队列MyDeadLetterQueue
MyDeadLetterQueue
如果需要,多个队列可以使用相同的死信队列,因此,对于要创建的每个队列重复此块。
如果死信队列已经存在,则可以为队列提供ARN:
例如:
Parameters:
DLQarn:
Type: String
Resources:
MySourceQueue:
Type: AWS::SQS::Queue
Properties:
RedrivePolicy:
deadLetterTargetArn:
Ref: DLQarn
maxReceiveCount: 5