You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Copilot中SSM密钥环境变量替换转义无效报错求助

解决方案

错误原因

你当前的转义写法(\\${}或\${})会将${DATABASE_SERVER}标记为字面文本,导致部署工具无法识别这是需要从SSM参数存储中读取的secret变量,反而认为你要使用一个未定义的系统环境变量,因此报错。

修正配置方案

根据YAML语法和AWS部署工具的变量替换逻辑,你需要:

  • 移除多余的转义符,让${DATABASE_SERVER}保持原样
  • 使用单引号包裹变量值,避免YAML解析器提前处理${}语法

修正后的配置如下:

variables:
  TEST1: 'https://${DATABASE_SERVER}:5000/ReportServer?'
  TEST2: 'https://${DATABASE_SERVER}:5000/ReportServer?'
secrets:                      # Pass secrets from AWS Systems Manager (SSM) Parameter Store.
  DATABASE_SERVER: /database/server

验证逻辑说明

  1. 部署工具会先从SSM参数存储中读取/database/server的值,将其注入为环境变量DATABASE_SERVER
  2. 随后工具会解析variables段的内容,将${DATABASE_SERVER}替换为对应的SSM参数值
  3. 使用单引号包裹可以确保YAML解析器不会把${}当成自身的变量语法处理,而是完整传递给部署工具进行替换

内容的提问来源于stack exchange,提问作者Shanika Ediriweera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:42:18