如何解决如何将变量值从 gitlab 变量调用到 Serverless 模板中
我有一个无服务器模板,用于配置 Lambda 和 API 网关。到目前为止,我已经在模板中硬编码了 vpc 详细信息,但我想从 gitlab 变量中调用变量值,而不是硬编码值。
我需要从 SG1、subnet_A 和 subnet_B 的 gitlab 变量中获取变量值。请建议我如何调用值?
########### serverless.template ##########
{
"AWstemplateFormatVersion": "2010-09-09","Transform": "AWS::Serverless-2016-10-31","Description": "testing","Parameters": {},"Conditions": {},"provider": "aws"
"environment":
"Role": "${env:role}"
"Resources": {
"AspNetCoreFunction": {
"Type": "AWS::Serverless::Function","Properties": {
"Handler":
"<Handler_Value>","Runtime": "dotnetcore3.1","CodeUri": "","MemorySize": 256,"Timeout": 30,"Role": "${Role}","Policies": null,"VpcConfig": {
"SecurityGroupIds": ["$SG1"],"subnetIds": [
"${subnet_A}","${subnet_B}"
]
},"Events": {
"ProxyResource": {
"Type": "Api","Properties": {
"Path": "/{proxy+}","Method": "ANY"
}
},"RootResource": {
"Type": "Api","Properties": {
"Path": "/","Method": "ANY"
}
}
}
}
}
},"Outputs": {
"ApiURL": {
"Description": "testing","Value": {
"Fn::Sub": "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/dev/"
}
}
}
}
解决方法
您可以用环境变量值替换 serverless.yml
中用 ${env:..}
括号括起来的任何值,
和你在"Role": "${env:role}"
中做的一样,
- 您可以替换:
"SecurityGroupIds": ["$SG1"]
- 由
"SecurityGroupIds": ["${env:SG1}"]
我建议您将 unresolvedVariablesNotificationMode
设置为 'error'
,以便在缺少环境变量时通知您,
无服务器框架变量指南:https://www.serverless.com/framework/docs/providers/aws/guide/variables/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。