Amazon web services 如何使用AWS SAM动态构造资源名称?
我是AWS和SAM的新手,所以这可能是一个显而易见的问题,但我就是找不到答案。我试图构造一个SAM模板,允许用户插入一个参数,该参数将影响其中所有资源的名称。具体来说,可以传入一个“环境”参数,该参数将用于限定所有资源名称:Amazon web services 如何使用AWS SAM动态构造资源名称?,amazon-web-services,aws-sam,Amazon Web Services,Aws Sam,我是AWS和SAM的新手,所以这可能是一个显而易见的问题,但我就是找不到答案。我试图构造一个SAM模板,允许用户插入一个参数,该参数将影响其中所有资源的名称。具体来说,可以传入一个“环境”参数,该参数将用于限定所有资源名称: AWSTemplateFormatVersion: "2010-09-09" Transform: "AWS::Serverless-2016-10-31" Parameters: EnvironmentParameter: Type: "String"
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: "..."
...
如何使用
EnvironmentParameter
动态构建FunctionName
?所有Cloudformation函数也在SAM模板中工作。因此,您可以使用Fn::Sub
函数替换FunctionName
FunctionName: !Sub "${EnvironmentParameter}_MyFunction"
有关Fn::Sub
函数的更多详细信息
希望这有帮助