【问题标题】:Questions about creating an SQS queue/dead letter queue on AWS with cloudformation关于使用 cloudformation 在 AWS 上创建 SQS 队列/死信队列的问题
【发布时间】:2019-03-05 06:37:34
【问题描述】:

我想创建一个连接到死信队列的 SQS 队列。我希望将 SQS 队列中收到但无法正确处理的消息放入死信队列。另外我想设置这个做云的形成。我看过these docs。但我仍然对设置过程有疑问。我在页面下方看到了这段代码 sn-p,它显示了如何执行此操作:

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/dead letter queue 的代码 sn-p 吗?所以如果我想 做很多这些我会为每个复制整个块?

2) 如果sqs队列已经存在但是我想添加死信 在云形成中排队,我可以输入该队列的名称吗 某处并让它生成正确的死信队列?还是我 必须拆除旧队列并使用云重新创建它们 形成?

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation amazon-sqs


    【解决方案1】:

    这个 sn-p 正在创建一个名为 MyDeadLetterQueue 的 Amazon SQS 队列:

      MyDeadLetterQueue: 
        Type: AWS::SQS::Queue
    

    这个sn-p:

      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
    

    【讨论】:

      猜你喜欢
      • 2017-09-14
      • 2016-08-18
      • 2022-11-21
      • 1970-01-01
      • 2021-10-07
      • 2020-02-14
      • 2022-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多