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



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

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

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"
}
]
}

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

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

从文档

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

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

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

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

例如,我们可以访问存储为事件中传递的url的查询字符串中的键:值对的变量,方法是:

event.queryStringParameters.time

因此,对于POST请求https://fakename.execute-api.us-east-1.amazonaws.com/dev/convertTime?time=2:55:55AM:

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

event.queryStringParameters.time将等于";凌晨2:55:55AM";,我们可以用lambda函数的其余部分中的信息做我们希望做的事情。

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

来自AWS Lambda文档:

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

上下文方法

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

上下文属性

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

相关内容

最新更新