amazon-web-services - 如何将参数传递给嵌入在 serverless.yaml 文件中的 cloudformation 模板
问题描述
我有一个 cloudformation 模板,我想将它嵌入到资源部分,但现有的 cloudformation 模板包含参数。有可能处理这个吗?
资源:资源:${file(cloudformation-resources.yaml)}
我正在尝试使用模板创建 IAM 角色和 Lambda 函数。模板将环境名称、安全组 ID、lambda 代码所在的存储桶名称作为参数传递。我正在使用 !Sub "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/ 获取模板内的日志组。
但我最终得到一个错误“变量 AWS::Region 的变量引用语法无效。您只能引用环境变量、选项和文件。您可以查看我们的文档以获取更多信息。”
如何使用 serverless.yaml 文件处理这个问题。
这是我正在尝试的 serverless.yaml
service: sample
frameworkVersion: ">=1.0.0 <2.0.0"
plugins:
- serverless-pseudo-parameters
provider:
name: aws
stackName: "${opt:stackName,env:StackName}"
parameters:
SecurityGroupId: "${opt:SecurityGroupId,env:SecurityGroupId}"
Subnets: "${opt:Subnets,env:Subnets}"
environment: "${opt:environment,env:environment}"
LambdacodeBucketName: "${opt:LambdacodeBucketName,env:LambdacodeBucketName}"
resources:
- ${file(test/template.yaml)}
提前致谢