如何将参数传递给内嵌在serverless.yaml文件中的cloudformation模板

问题描述

我有一个cloudformation模板,我想在资源部分中嵌入它,但是现有的cloudformation模板包含参数。有可能解决吗?

资源:资源:$ {file(cloudformation-resources.yaml)}

我正在尝试使用模板创建IAM角色和Lambda函数。并且该模板以lambda代码所在的环境名称,安全性groupId,存储区名称作为参数传递。并且我正在使用!Sub“ arn:aws:logs:$ {AWS :: Region}:$ {AWS :: AccountId}:log-group:/ aws / lambda /来获取模板中的日志组。

但是我最终得到一个错误“变量AWS :: Region的变量引用语法无效。您只能引用env变量,选项和文件。可以查看我们的文档以获取更多信息。”

如何使用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)}

预先感谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)