本地运行的无服务器检测

Jos*_*han 3 aws-lambda serverless-framework serverless

我正在运行如下命令。

serverless invoke local --function twilio_incoming_call
Run Code Online (Sandbox Code Playgroud)

当我在我的代码中本地运行时,我计划检测这一点,而不是寻找 POST 变量,而是寻找我将提供的 MOCK 文件。

但是,我不知道如何检测我是否使用此本地命令运行无服务器。

你怎么做到这一点?

我在无服务器网站上环顾四周,可以找到很多关于在本地运行但没有检测到您是否在本地的信息。

Jos*_*han 9

我找到了答案。 process.env.IS_LOCAL将检测您是否在本地运行。不知何故在他们的网站上错过了这个......


das*_*mug 6

如果您使用 AWS Lambda,它有一些内置环境变量。如果没有这些变量,您可以断定您的函数正在本地运行。

https://docs.aws.amazon.com/lambda/latest/dg/lambda-environment-variables.html

const isRunningLocally = !process.env.AWS_EXECUTION_ENV
Run Code Online (Sandbox Code Playgroud)

无论您使用什么框架,无论您使用的是无服务器、Apex UP、AWS SAM 等,此方法都适用。