首页 > 解决方案 > 无服务器部署失败,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 控制台使用相同的标签。

当我用“。”等任何其他字符替换“+”时 或“:”然后部署有效,“+”字符失败

标签: aws-lambdaserverless-frameworkserverlessaws-serverless

解决方案


这不是一个很好的答案,但您遇到了一个已知和报告的错误:

https://github.com/serverless/serverless/issues/6133

API Gateway 标签设置阶段变量而不是标签

阶段变量对标签有不同的限制(特别是对于您不支持的情况+)。

查看版本,恢复到版本1.14.1可能是解决此问题的方法。


推荐阅读