Dan*_*Dan 4 amazon-sqs amazon-web-services aws-cloudformation
我想创建一个连接到死信队列的 SQS 队列。我希望将 SQS 队列中收到但无法正确处理的消息放入死信队列。此外,我想将其设置为云形成。我已经看过 这些文档。但我对设置过程仍然有疑问。我在页面下方看到了这段代码片段,它展示了如何执行此操作:
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"
Run Code Online (Sandbox Code Playgroud)
我的问题是:
1) 这个代码片段是针对 1 sqs/死信队列的吗?那么,如果我想做很多这样的东西,我会为每一个复制整个块吗?
2)如果 sqs 队列已经存在,但我想在云形成中添加一个死信队列,我可以将该队列的名称放在某处并让它生成正确的死信队列吗?或者我是否必须拆除旧队列并通过云形成重新创建它们?
此代码片段创建一个名为 的 Amazon SQS 队列MyDeadLetterQueue:
MyDeadLetterQueue:
Type: AWS::SQS::Queue
Run Code Online (Sandbox Code Playgroud)
这个片段:
MySourceQueue:
Type: AWS::SQS::Queue
Properties:
RedrivePolicy:
deadLetterTargetArn:
Fn::GetAtt:
- "MyDeadLetterQueue"
- "Arn"
maxReceiveCount: 5
Run Code Online (Sandbox Code Playgroud)
是说:
MySourceQueueMyDeadLetterQueueMyDeadLetterQueue如果您愿意,多个队列可以使用相同的死信队列,因此请为您要创建的每个队列重复此块。
如果死信队列已存在,则您可以为该队列提供 ARN:
例如:
Parameters:
DLQarn:
Type: String
Resources:
MySourceQueue:
Type: AWS::SQS::Queue
Properties:
RedrivePolicy:
deadLetterTargetArn:
Ref: DLQarn
maxReceiveCount: 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6944 次 |
| 最近记录: |