Вопросы о создании очереди SQS / очереди недоставленных писем в AWS с облачной информацией - PullRequest
0 голосов
/ 04 марта 2019

Я хочу создать очередь 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) Этот фрагмент кода для 1sqs / очередь мертвых писем?Так что, если я хочу сделать много из них, я бы продублировал весь этот блок для каждого?

2) Если очередь sqs уже существует, но я хочу добавить к ней очередь недоставленных сообщений при формировании облака, могу ли япросто поместите имя этой очереди куда-нибудь и получите ли она правильную очередь недоставленных писем?Или я должен разрушить старые очереди и создать их с образованием облаков?

1 Ответ

0 голосов
/ 05 марта 2019

Этот фрагмент создает очередь Amazon SQS с именем MyDeadLetterQueue:

  MyDeadLetterQueue: 
    Type: AWS::SQS::Queue

Этот фрагмент:

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

говорит:

  • Создатьочередь Amazon SQS с именем MySourceQueue
  • Установите очередь недоставленных сообщений на MyDeadLetterQueue
  • Если сообщение не может быть обработано 5 раз, переместите его на MyDeadLetterQueue

Несколько очередей могут использовать одну и ту же очередь недоставленных сообщений, если вы хотите, поэтому повторите этот блок для каждой очереди, которую вы хотите создать.

Если очередь недоставленных сообщений уже существует, то вы можете предоставить ARN дляqueue:

  • Создание параметра для принятия ARN
  • См. ARN в определении очереди

Например:

Parameters: 
  DLQarn: 
    Type: String

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