【问题标题】:Serverless Detect Running Locally无服务器检测在本地运行
【发布时间】:2018-01-15 00:50:22
【问题描述】:

我正在运行如下命令。

serverless invoke local --function twilio_incoming_call

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

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

你是怎么做到的?

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

【问题讨论】:

    标签: aws-lambda serverless-framework serverless


    【解决方案1】:

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

    【讨论】:

    【解决方案2】:

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

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

    const isRunningLocally = !process.env.AWS_EXECUTION_ENV
    

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

    【讨论】:

      【解决方案3】:

      您还可以查看process.argv中的内容:

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

      process.argv[2] 将等于“调用”

      process.argv[3] 将等于“本地”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-25
        • 2019-01-05
        • 2022-06-27
        • 1970-01-01
        • 2022-01-14
        • 2018-05-10
        • 1970-01-01
        • 2019-02-26
        相关资源
        最近更新 更多