繁体   English   中英

关于使用Cloudformation在AWS上创建SQS队列/死信队列的问题

[英]Questions about creating an SQS queue/dead letter queue on AWS with 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"

我的问题是:

1)此代码段是否适用于1个方格/死信队列? 所以,如果我想做很多,我会为每个块复制整个块吗?

2)如果sqs队列已经存在,但我想以云的形式向其中添加一个死信队列,我可以将那个队列的名称放在某个地方,并使其生成正确的死信队列吗? 还是我必须拆除旧队列并用云形成来重新创建它们?

此代码段正在创建一个名为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
  • 如果一条消息无法处理5次,请将其移至MyDeadLetterQueue

如果需要,多个队列可以使用同一个死信队列,因此请对要创建的每个队列重复此块。

如果“死信队列”已经存在,则可以为队列提供ARN:

  • 创建一个参数以接受ARN
  • 请参阅队列定义中的ARN

例如:

Parameters: 
  DLQarn: 
    Type: String

Resources:
  MySourceQueue: 
    Type: AWS::SQS::Queue
    Properties: 
      RedrivePolicy: 
        deadLetterTargetArn: 
          Ref: DLQarn
        maxReceiveCount: 5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM