使用无服务器框架时,我的环境变量被解析为数字

When using the Serverless framework, my environment variable is being parsed as a number

我有一个使用环境变量的应用程序。环境变量本身是一串数字,中间有一个点,例如36478236853794287.234798237543893,但它应该被解释为一个字符串。我想使用无服务器框架在 AWS Lambda 上部署此应用程序。

我已经在单独的文件中设置了环境变量(secrets.yml),即.gitignored:

dev:
  MY_ENV_VAR: 36478236853794287.234798237543893

然后我将其包含在 serverless.yml 中,如下所示:

provider:
  environment: ${self:custom.secrets}

custom:
  stage: ${opt:stage, self:provider.stage}
  secrets: ${file(secrets.yml):${self:custom.stage}}

但是,当我在我的应用程序中打印出 MY_ENV_VAR 时,日志将其显示为科学格式的数字,例如 '3.6478236853794287E14'.

YAML 文件中定义的值被解释为数字。用单引号将它括起来,以明确表示它是一个字符串:

dev:
  MY_ENV_VAR: '36478236853794287.234798237543893'