SNS Тема говорит, что хочет строку - PullRequest
1 голос
/ 07 мая 2019

Я просмотрел несколько руководств, и все они следуют одному и тому же шаблону, но я все еще получаю следующую ошибку:

An error occurred: IngestSNSTopic - Value of property Endpoint must be of type String.

Использование здесь безсерверной инфраструктуры - это раздел, в котором объявляется этот ресурс.Я перебираю это уже несколько часов, буду рада помощи, спасибо.

    IngestSNSTopic:
      Type: AWS::SNS::Topic
      Properties:
        Subscription:
          -
            Endpoint:
              Fn::GetAtt:
                - IngestQueue
                - Arn
              Protocol: sqs
    IngestQueue:
      Type: AWS::SQS::Queue
      Properties:
        QueueName: ${opt:stage}-mam-ingest-queue-${file(env/${opt:stage, 'dev'}.yml):IP_SLUG}
        RedrivePolicy:
          maxReceiveCount: 3
          deadLetterTargetArn:
            Fn::GetAtt:
              - IngestDeadLetter
              - Arn

1 Ответ

1 голос
/ 07 мая 2019

Я думаю, что документы AWS на самом деле неверны , примеры JSON и YAML отличаются в выходных данных. Свойство Protocol имеет отступ в один раз слишком много, что означает, что Endpoint будет оцениваться как объект.

Вот что ваш конфиг оценивает в JSON:

{
    "IngestSNSTopic": {
        "Type": "AWS::SNS::Topic",
        "Properties": {
            "Subscription": [
                {
                    "Endpoint": {
                        "Fn::GetAtt": [
                            "IngestQueue",
                            "Arn"
                        ],
                        "Protocol": "sqs"
                    }
                }
            ]
        }
    }
}

Вот как я думаю, это должно быть:

    IngestSNSTopic:
      Type: AWS::SNS::Topic
      Properties:
        Subscription:
          -
            Endpoint:
              Fn::GetAtt:
                - IngestQueue
                - Arn
            Protocol: sqs
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...