代码之家  ›  专栏  ›  技术社区  ›  slipperypete

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

  •  0
  • slipperypete  · 技术社区  · 6 年前

    我想创建一个连接到死信队列的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/死信队列的代码段吗?所以如果我想 做很多这样的我会为每一个复制整个块吗?

    以云的形式排队,我能把队列的名字写下来吗 然后让它生成正确的死信队列?还是我 必须拆除旧的队列并使用云重新创建它们 队形?

    0 回复  |  直到 6 年前
        1
  •  3
  •   John Rotenstein    6 年前

    此代码段正在创建一个名为 MyDeadLetterQueue :

      MyDeadLetterQueue: 
        Type: AWS::SQS::Queue
    

      MySourceQueue: 
        Type: AWS::SQS::Queue
        Properties: 
          RedrivePolicy: 
            deadLetterTargetArn: 
              Fn::GetAtt: 
                - "MyDeadLetterQueue"
                - "Arn"
            maxReceiveCount: 5
    

    他说:

    • 创建一个名为 MySourceQueue
    • 将死信队列设置为 我的死信队列
    • 我的死信队列

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

    • 创建参数以接受ARN

    例如:

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