Невозможно создать очередь FIFO с очередью недоставленных писем в том же стеке облачной информации - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть стек облачной информации, содержащий очередь FIFO и связанную с ней очередь недоставленных сообщений.Ранее это была не очередь FIFO, и она была развернута нормально, сначала была создана зависимость от очереди недоставленных писем, а затем «исходная очередь».После переключения на FIFO он больше не работает.Я получаю эту ошибку:

"Template error: SQSQueue https://sqs.us-east-1.amazonaws.com/1234/dev-assignments-dlq doesn't exist",

Так что кажется, что очередь недоставленных сообщений больше не создается первой.

 AWSTemplateFormatVersion: "2010-09-09"
    Resources:
      SourceQueue:
        Type: AWS::SQS::Queue
        Properties:
          FifoQueue: true
          QueueName: 'dev-push-notifications.fifo'
          RedrivePolicy:
            deadLetterTargetArn:
              Fn::GetAtt:
                - 'DeadLetterQueue'
                - 'Arn'
            maxReceiveCount: 5
          VisibilityTimeout: 30
      DeadLetterQueue:
        Type: AWS::SQS::Queue
        Properties:
          QueueName: 'dev-push-notifications-dlq'

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

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

Изменение стека облачной информации на это сработало:

AWSTemplateFormatVersion: "2010-09-09"
Resources:
  SourceQueue:
    Type: AWS::SQS::Queue
    Properties:
      FifoQueue: true
      QueueName: 'dev-push-notifications.fifo'
      RedrivePolicy:
        deadLetterTargetArn:
          Fn::GetAtt:
            - 'DeadLetterQueue'
            - 'Arn'
        maxReceiveCount: 5
      VisibilityTimeout: 30
  DeadLetterQueue:
    Type: AWS::SQS::Queue
    Properties:
      FifoQueue: true
      QueueName: 'dev-push-notifications-dlq.fifo'
0 голосов
/ 20 февраля 2019

Это странно, поскольку Cloudformation должна обнаруживать зависимость из-за GetAtt.Вы можете попробовать объявить его явно, используя атрибут DependsOn:

AWSTemplateFormatVersion: "2010-09-09"
  Resources:
    SourceQueue:
      Type: AWS::SQS::Queue
      DependsOn: DeadLetterQueue
      Properties:
        # ...
...