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

Javascript AWS Lambda中函数调用中的事件和上下文是什么?,javascript,node.js,aws-lambda,Javascript,Node.js,Aws Lambda,在下面的代码中,参数事件和上下文指的是什么 module.exports.convertTime=(事件、上下文、回调)=>{ 常数响应={ 状态代码:状态代码, 正文:JSON.stringify({ 消息:`${convertedTime}` }) }; 回调(空,响应); } 当Lambda运行函数时,它将上下文对象传递给处理程序。此对象提供方法和属性,这些方法和属性提供有关调用、函数和执行环境的信息 描述了事件(和参数) 更简单地说,将事件视为常规函数的输入。上下文是AWS提供的额外输

在下面的代码中,参数
事件
上下文
指的是什么

module.exports.convertTime=(事件、上下文、回调)=>{
常数响应={
状态代码:状态代码,
正文:JSON.stringify({
消息:`${convertedTime}`
})
};
回调(空,响应);
}

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

描述了事件(和参数)


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

事件
表示导致调用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"
        }
      ]
    }
这是


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

事件参数携带函数的输入参数,并采用JSON语法

例如,我们可以访问存储为key:value对的变量,该变量位于事件中传递的url的查询字符串中:

因此,对于POST请求:

event.queryStringParameters.time将等于“2:55:55AM”,我们可以在lambda函数的其余部分中使用该信息执行我们希望执行的操作

context参数提供方法和属性,提供有关调用、函数和执行环境的信息

从:

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

上下文方法

getRemainingTimeInMillis()–返回执行超时前剩余的毫秒数

上下文属性

functionName–Lambda函数的名称。 functionVersion–函数的版本。 invokedFunctionArn–用于调用函数的亚马逊资源名称(ARN)。指示调用方是否指定了版本号或别名。
memoryLimitInMB–函数上配置的内存量。 ……”

event.queryStringParameters.time
curl -X POST -H "x-api-key: FAKEAPIKEY23423402394" https://fakename.execute-api.us-east-1.amazonaws.com/dev/convertTime?time=2:55:55AM