繁体   English   中英

如何使用 AWS SAM 动态构建资源名称?

[英]How to dynamically construct resource names using AWS SAM?

我是 AWS 和 SAM 的新手,所以这可能是一个显而易见的问题,但我找不到答案。 我正在尝试构建一个 SAM 模板,允许用户注入一个参数,该参数将影响其中所有资源的名称。 具体来说,可以传入一个“环境”参数,然后将其用于限定所有资源名称:

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的 EnvironmentParameter

FunctionName: !Sub "${EnvironmentParameter}_MyFunction"

有关Fn::Sub函数的更多详细信息的链接

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM