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