Aws lambda 本地运行的无服务器检测

Aws lambda 本地运行的无服务器检测,aws-lambda,serverless-framework,serverless,Aws Lambda,Serverless Framework,Serverless,我运行的命令如下所示 serverless invoke local --function twilio_incoming_call 当我在代码中本地运行时,我计划检测到这一点,而不是寻找POST变量,而是寻找一个模拟文件,我将给出它 但是,我不知道如何检测是否使用此本地命令运行serverless 您是如何做到这一点的? 我在无服务器网站上四处查看,发现了很多关于在本地运行的信息,但没有检测到您是否在本地。我找到了答案process.env.IS_LOCAL将检测您是否在本地运行。不知何故,

我运行的命令如下所示

serverless invoke local --function twilio_incoming_call
当我在代码中本地运行时,我计划检测到这一点,而不是寻找POST变量,而是寻找一个模拟文件,我将给出它

但是,我不知道如何检测是否使用此本地命令运行serverless

您是如何做到这一点的?


我在无服务器网站上四处查看,发现了很多关于在本地运行的信息,但没有检测到您是否在本地。

我找到了答案
process.env.IS_LOCAL
将检测您是否在本地运行。不知何故,他们的网站上遗漏了这一点…

您还可以检查
过程中的内容。argv

process.argv[1]
将等于“/usr/local/bin/sls”

process.argv[2]
将等于“invoke”


process.argv[3]
将等于“local”

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


无论您使用的框架是无服务器、Apex UP、AWS SAM等,此方法都可以工作。

很好!这是指向无服务器文档的链接:
const isRunningLocally = !process.env.AWS_EXECUTION_ENV