Как динамически создавать имена ресурсов с помощью AWS SAM? - PullRequest
0 голосов
/ 02 июля 2018

Я новичок в AWS и SAM, так что это может быть очевидным вопросом, но я просто не могу найти ответ на него. Я пытаюсь создать шаблон SAM, который позволяет пользователю вводить параметр, который будет влиять на имена всех ресурсов внутри. В частности, можно передать параметр «environment», который затем будет использован для определения всех имен ресурсов:

AWSTemplateFormatVersion: "2010-09-09"
Transform: "AWS::Serverless-2016-10-31"
Parameters:
  EnvironmentParameter:
    Type: "String"
    Default: "default"
Resources:
  GetTermsAndConditionsFunction:
    Type: "AWS::Serverless::Function"
    Properties:
      # TODO: prepend the environment somehow so I get "$ENVIRONMENT_MyFunction" instead
      FunctionName: "MyFunction"
      Handler: "..."
      ...

Как я могу динамически построить FunctionName, используя EnvironmentParameter?

1 Ответ

0 голосов
/ 03 июля 2018

Все функции Cloudformation также работают в шаблонах SAM. Таким образом, вы использовали бы функцию Fn::Sub для замены EnvironmentParameter в вашем FunctionName

FunctionName: !Sub "${EnvironmentParameter}_MyFunction"

Ссылка для более подробной информации о функции Fn::Sub.

Надеюсь, это поможет!

...