AWS Lambda 函数调用中的事件和上下文是什么?

Eri*_*son 13 javascript node.js aws-lambda

在下面的代码中,参数eventcontext指的是什么?

module.exports.convertTime = (event, context, callback) => {
  const response = {
    statusCode: statusCode,
    body: JSON.stringify({
      message: `${convertedTime}`
    })
  };

  callback(null, response);
}
Run Code Online (Sandbox Code Playgroud)

Jar*_*son 20

Event表示导致 lambda 调用的事件或触发器。例如,如果您的 lambda 是由上传到 S3 触发的,这将包含有关正在上传的对象的信息,例如:

    {
      "Records": [
        {
          "eventVersion": "2.0",
          "eventTime": "1970-01-01T00:00:00.000Z",
          "requestParameters": {
            "sourceIPAddress": "127.0.0.1"
          },
          "s3": {
            "configurationId": "testConfigRule",
            "object": {
              "eTag": "0123456789abcdef0123456789abcdef",
              "sequencer": "0A1B2C3D4E5F678901",
              "key": "HappyFace.jpg",
              "size": 1024
            },
            "bucket": {
              "arn": bucketarn,
              "name": "sourcebucket",
              "ownerIdentity": {
                "principalId": "EXAMPLE"
              }
            },
            "s3SchemaVersion": "1.0"
          },
          "responseElements": {
            "x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH",
            "x-amz-request-id": "EXAMPLE123456789"
          },
          "awsRegion": "us-east-1",
          "eventName": "ObjectCreated:Put",
          "userIdentity": {
            "principalId": "EXAMPLE"
          },
          "eventSource": "aws:s3"
        }
      ]
    }
Run Code Online (Sandbox Code Playgroud)

以下是有关事件的详细信息,并附有示例

Context提供有关 lambda 的调用、函数和执行环境的信息。因此,您可以使用它来检查内存分配或检索执行超时前剩余的毫秒数。这是有关上下文的详细文档,并附有示例


dsp*_*099 2

来自文档

当 Lambda 运行您的函数时,它会将上下文对象传递给处理程序。该对象提供的方法和属性提供有关调用、函数和执行环境的信息。

事件(和参数)在此处描述。

更简单地说,将事件视为常规函数的输入。上下文是 AWS 提供的额外输入,可为您提供各种元上下文等。