aws-lambda - 无服务器部署失败,stackTags 变量中出现 + 字符
问题描述
在我的 serverless.yml 文件中,我定义了一个 StackTag 变量,如下所示
stackTags:
Name: My Service
Category: Environment:${opt:stage}+Role:Application
因此,当我运行sls deploy --stage dev
时出现以下错误并且部署失败
阶段变量值无效:类别:Environment:${opt:stage}+Role:Application。请使用带有字母数字字符和符号 ''、-'、'.'、'_'、':'、'/'、'?'、'&'、'=' 和 ',' 的值。
那么这是无服务器框架的限制吗?我能够通过 AWS UI 控制台使用相同的标签。
当我用“。”等任何其他字符替换“+”时 或“:”然后部署有效,“+”字符失败
解决方案
这不是一个很好的答案,但您遇到了一个已知和报告的错误:
https://github.com/serverless/serverless/issues/6133
API Gateway 标签设置阶段变量而不是标签
阶段变量对标签有不同的限制(特别是对于您不支持的情况+
)。
查看版本,恢复到版本1.14.1
可能是解决此问题的方法。
推荐阅读
- python - 赋值前引用的变量,但我之前赋值过
- javascript - 为什么我的 HTML5 画布边缘的线条变得不那么不透明?
- python - 如何连接熊猫数据框中的三列,并用下划线`_`连接?
- python - 如何将单个多项式曲线拟合到散点图
- html - 在 HTML/CSS 中用矩形动态覆盖图像
- java - java.net.CookieManager put SEVERE: Invalid cookie for [URL]
- scala - 抽象类与方法之间的Scala差异
- python - 如何根据条件将数据框值附加到空列表
- python - Python输入验证函数保留旧变量
- mysql - 无法将 mariadb 服务器连接到 mysql 工作台