serverless.yml - 如何强制不将数字转换为字符串?
serverless.yml - How to force numbers not to be converted to strings?
我 运行 行为古怪。我有一个 YAML 文件 serverless.yml
(来自 https://serverless.com/framework),它定义了一些变量,其中一些是整数,例如:
TEMPLATE_ID_CONTACT_REQUEST: 111
当我在本地加载该文件时,数字未转换为字符串。但是当我在 AWS 上部署它时,数字会自动转换为字符串。
当我在本地 运行 它时,我使用了一些模拟 AWS Lambda 行为的东西,可能是相关的?
无论如何,我试图找到一种在 YAML 文件中强制类型的方法,但到目前为止没有找到任何有效的方法。而且我不能使用自定义 YAML 文件加载器 (AFAIK),因为 serverless.yml 文件是从无服务器框架本身加载的。
假设您将这些变量设置为 environment variables 并使用 process.env
访问它们,值应始终为字符串。
来自node docs:
Assigning a property on process.env will implicitly convert the value to a string.
如果您需要该值是一个整数,也许使用 parseInt
? 运行 parseInt
在整数上工作正常,因此在本地也应该工作。
我 运行 行为古怪。我有一个 YAML 文件 serverless.yml
(来自 https://serverless.com/framework),它定义了一些变量,其中一些是整数,例如:
TEMPLATE_ID_CONTACT_REQUEST: 111
当我在本地加载该文件时,数字未转换为字符串。但是当我在 AWS 上部署它时,数字会自动转换为字符串。
当我在本地 运行 它时,我使用了一些模拟 AWS Lambda 行为的东西,可能是相关的?
无论如何,我试图找到一种在 YAML 文件中强制类型的方法,但到目前为止没有找到任何有效的方法。而且我不能使用自定义 YAML 文件加载器 (AFAIK),因为 serverless.yml 文件是从无服务器框架本身加载的。
假设您将这些变量设置为 environment variables 并使用 process.env
访问它们,值应始终为字符串。
来自node docs:
Assigning a property on process.env will implicitly convert the value to a string.
如果您需要该值是一个整数,也许使用 parseInt
? 运行 parseInt
在整数上工作正常,因此在本地也应该工作。