无服务器框架 - 变量解析错误
Serverless Framework - Variables resolution error
我有 serverless.yaml 脚本,以前可以使用 - 接下来更新到较新版本的 SLS (2.72.0) 后,我开始收到警告:
Cannot resolve serverless.yaml: Variables resolution errored with:
- Cannot resolve variable at "custom.S3_BUCKET_NAME": Value not found at "self" source
我的自定义部分如下所示:
custom:
S3_BUCKET_NAME: ${self:service}-data-${opt:stage, self:provider.stage}
s3Sync:
- bucketName: ${self:custom.S3_BUCKET_NAME}-website
localDir: ./dist
deleteRemoved: true
如何修复此警告?
变量解析略有变化,在您的情况下,解决它的最佳方法是使用以下语法:
custom:
S3_BUCKET_NAME: ${self:service}-data-${sls:stage}
s3Sync:
- bucketName: ${self:custom.S3_BUCKET_NAME}-website
localDir: ./dist
deleteRemoved: true
解决阶段。或者,您可以使用旧语法,但为阶段提供明确的回退值:
custom:
S3_BUCKET_NAME: ${self:service}-data-${opt:stage, self:provider.stage, 'dev'}
s3Sync:
- bucketName: ${self:custom.S3_BUCKET_NAME}-website
localDir: ./dist
deleteRemoved: true
我建议使用 sls:stage
版本。
改变你编写舞台的方式来自:
self:provider.stage
收件人:
${sls:stage}
应该做的工作!
您可以在以下位置找到更新的文档:https://www.serverless.com/framework/docs/providers/aws/guide/variables 或 运行 serverless print
以获得更详细的问题响应。
我有 serverless.yaml 脚本,以前可以使用 - 接下来更新到较新版本的 SLS (2.72.0) 后,我开始收到警告:
Cannot resolve serverless.yaml: Variables resolution errored with:
- Cannot resolve variable at "custom.S3_BUCKET_NAME": Value not found at "self" source
我的自定义部分如下所示:
custom:
S3_BUCKET_NAME: ${self:service}-data-${opt:stage, self:provider.stage}
s3Sync:
- bucketName: ${self:custom.S3_BUCKET_NAME}-website
localDir: ./dist
deleteRemoved: true
如何修复此警告?
变量解析略有变化,在您的情况下,解决它的最佳方法是使用以下语法:
custom:
S3_BUCKET_NAME: ${self:service}-data-${sls:stage}
s3Sync:
- bucketName: ${self:custom.S3_BUCKET_NAME}-website
localDir: ./dist
deleteRemoved: true
解决阶段。或者,您可以使用旧语法,但为阶段提供明确的回退值:
custom:
S3_BUCKET_NAME: ${self:service}-data-${opt:stage, self:provider.stage, 'dev'}
s3Sync:
- bucketName: ${self:custom.S3_BUCKET_NAME}-website
localDir: ./dist
deleteRemoved: true
我建议使用 sls:stage
版本。
改变你编写舞台的方式来自:
self:provider.stage
收件人:
${sls:stage}
应该做的工作!
您可以在以下位置找到更新的文档:https://www.serverless.com/framework/docs/providers/aws/guide/variables 或 运行 serverless print
以获得更详细的问题响应。