Aws lambda Aws lambda代码解释
有人能解释一下下面代码的工作原理吗Aws lambda Aws lambda代码解释,aws-lambda,Aws Lambda,有人能解释一下下面代码的工作原理吗 "def lambda_handlerOut(event, context): if len(event) > 0: success=1 print("length of event outside for--"+str(len(event))) for record in event['Records']: print("len
"def lambda_handlerOut(event, context):
if len(event) > 0:
success=1
print("length of event outside for--"+str(len(event)))
for record in event['Records']:
print("length of event--"+str(len(event)))
bucket=record['s3']['bucket']['name']
key=record['s3']['object']['key']
print("Bucket--"+bucket)
print("File that triggered this event--"+key)
提前谢谢
问候,
Eleena Jose这是一个接收S3事件的Lambda,例如创建新文件的请求 该方法是标准的Python函数-请查看以了解更多详细信息 事件的结构已经定义,但基本上有一些记录正在被迭代,对于每个记录,bucket和key正在被提取和打印 因此,更详细地说(他们引用的线上方的注释): 编辑 如上所述,
事件
对象中的数据如下所示:
{
"Records":[
{
"eventVersion":"2.0",
"eventSource":"aws:s3",
"awsRegion":"us-east-1",
"eventTime":"1970-01-01T00:00:00.000Z",
"eventName":"ObjectCreated:Put",
"userIdentity":{
"principalId":"AIDAJDPLRKLG7UEXAMPLE"
},
"requestParameters":{
"sourceIPAddress":"127.0.0.1"
},
"responseElements":{
"x-amz-request-id":"C3D13FE58DE4C810",
"x-amz-id-2":"FMyUVURIY8/IgAtTv8xRjskZQpcIZ9KG4V5Wp6S7S/JRWeUWerMUE5JgHvANOjpD"
},
"s3":{
"s3SchemaVersion":"1.0",
"configurationId":"testConfigRule",
"bucket":{
"name":"mybucket",
"ownerIdentity":{
"principalId":"A3NL1KOZZKExample"
},
"arn":"arn:aws:s3:::mybucket"
},
"object":{
"key":"HappyFace.jpg",
"size":1024,
"eTag":"d41d8cd98f00b204e9800998ecf8427e",
"versionId":"096fKKXTRTtl3on89fVO.nfljtsv6qko",
"sequencer":"0055AED6DCD90281E5"
}
}
}
]
}
因此,作为一个例子,bucket=record['s3']['bucket']['name']
首先从留下的数据中获取s3
记录:
"s3":{
"s3SchemaVersion":"1.0",
"configurationId":"testConfigRule",
"bucket":{
"name":"mybucket",
"ownerIdentity":{
"principalId":"A3NL1KOZZKExample"
},
"arn":"arn:aws:s3:::mybucket"
},
"object":{
"key":"HappyFace.jpg",
"size":1024,
"eTag":"d41d8cd98f00b204e9800998ecf8427e",
"versionId":"096fKKXTRTtl3on89fVO.nfljtsv6qko",
"sequencer":"0055AED6DCD90281E5"
}
}
从那里,它得到bucket
节:
"bucket":{
"name":"mybucket",
"ownerIdentity":{
"principalId":"A3NL1KOZZKExample"
},
"arn":"arn:aws:s3:::mybucket"
}
最后是名称
:
"name":"mybucket"
这被分配给变量bucket,稍后打印出来。键(本例中为文件名)的工作方式相同,但获取事件的不同部分
现在有意义了吗?您能用一个s3值示例解释一下这段代码吗?
"name":"mybucket"