AWS Lambda 函数如何在执行期间获取依赖项

How AWS Lambda functions get the dependencies during execution

我刚开始学习 AWS 和 nodejs。我试图了解无服务器应用程序中的这个 lambda 在执行时如何获取所需的信息。让我们考虑下面的代码

use strict';

var AWS = require("aws-sdk");

var lambda = new AWS.Lambda({
    apiVersion: '2015-03-31',
    endpoint: 'https://lambda.' + process.env.DYNAMODB_REGION + '.amazonaws.com',
    logger: console
});

所以它的第一个语句创建了一个变量 AWS 。在任何正常的应用程序中,这些依赖项将在节点模块中可用,并且当我们引用它时,我们将很容易地访问它。但是,对于作为无服务器应用程序创建的 lambda 函数,它是如何获得依赖性的。

我的第二个问题是,当我们引用 process.env.DYNAMODB_REGION 时,process.env 的值是多少?

我的第三个问题是否可以创建一个通用记录器文件,将其导入到 lambda 中并使用它来记录详细信息?

请帮助我了解 lambda 函数如何获取所有这些详细信息。

  1. aws-sdk依赖由Lambda运行时提供,无需自行下载打包。运行时未提供的任何其他依赖项,您必须将它们打包到您在创建 Lambda 函数时上传的 zip 文件中。

  2. DYNAMODB_REGION 不是运行时设置的标准环境变量;创建 lambda 时,您必须自己提供它的价值。有关 Lambda 运行时设置的环境变量列表,以及如何设置您自己的环境变量,请参阅 https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html

  3. 不确定您要问什么,但是对于日志记录,最简单的方法是使用 AWS CloudWatch。有关详细信息,请参阅 https://docs.aws.amazon.com/lambda/latest/dg/nodejs-logging.html.

您发布的代码正在访问另一个 lambda 函数中的一个 lambda 函数。这并不是您为无服务器应用程序创建 lambda 函数的确切方式。