Ошибка формата шаблона: каждый атрибут Mappings должен быть строкой или списком - PullRequest
0 голосов
/ 15 февраля 2020

Я хотел бы иметь несколько быстрых ссылок в верхней части моего шаблона CloudFormation, чтобы мне не приходилось выписывать сложные ссылки каждый раз, когда они мне нужны по всему шаблону.

Итак, я написал это :

Mappings:
  StandardResourcesMap:
    AWSExecuteApi:
      string: !Join [ ':' , ['arn', !Sub '${AWS::Partition}', 'execute-api', !Sub '${AWS::Region}', !Sub '${AWS::AccountId}'] ]
    AWSLambdaFunctions:
      string: !Join [ ':' , ['arn', !Sub '${AWS::Partition}', 'apigateway', !Sub '${AWS::Region}', 'lambda:path/2015-03-31/functions/'] ]

Далее следует шаблон CloudFormation, и без строк выше шаблон развертывается (сегмент S3, таблица DynamoDB и Lambda на основе python 3.7).

Была надежда, что тогда я смогу просто использовать:

!FindInMap [StandardResourcesMap,AWSExecuteApi,string]

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

An error occurred (ValidationError) when calling the CreateChangeSet operation: Template format error: Every Mappings attribute must be a String or a List.

как гласит заголовок.

Я попробовал несколько вариантов Mappings, например, с использованием варианта !Ref:

Mappings:
  StandardResourcesMap:
    AWSExecuteApi:
      string: !Join [ ':' , ['arn', !Ref 'AWS::Partition', 'execute-api', !Ref 'AWS::Region', !Ref 'AWS::AccountId'] ]
    AWSLambdaFunctions:
      string: !Join [ ':' , ['arn', !Ref 'AWS::Partition', 'apigateway', !Ref 'AWS::Region', 'lambda:path/2015-03-31/functions/'] ]

, и я просто столкнулся с различными ошибками проверки, сосредоточив внимание на один из представленных выше.

любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 16 февраля 2020

Проблема заключается в следующем: You cannot include parameters, pseudo parameters, or intrinsic functions in the Mappings section. Отображения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...