Python 尝试为要放置在S3中的SQS消息定义messageId
我尝试使用以下lambda代码将sqs消息放入S3存储桶中。代码将实现这一点,但是我需要弄清楚如何定义messageId,以便放置在S3 bucket中的每个对象都具有与sqs messageId相同的名称Python 尝试为要放置在S3中的SQS消息定义messageId,python,amazon-s3,aws-lambda,boto3,amazon-sqs,Python,Amazon S3,Aws Lambda,Boto3,Amazon Sqs,我尝试使用以下lambda代码将sqs消息放入S3存储桶中。代码将实现这一点,但是我需要弄清楚如何定义messageId,以便放置在S3 bucket中的每个对象都具有与sqs messageId相同的名称 import json import boto3 def lambda_handler(event, context): s3 = boto3.client("s3") data = json.loads(event["Records"
import json
import boto3
def lambda_handler(event, context):
s3 = boto3.client("s3")
data = json.loads(event["Records"][0]["body"])
s3.put_object(Bucket="dlqbucket", Key="messageId", Body=json.dumps(data))
# TODO implement
return {
'statusCode': 200,
'body': json.dumps('Hello from lambda')
}
以下是从Amazon SQS到AWS Lambda函数的传入记录示例:
{
“记录”:[
{
“消息ID”:“19dd0b57-b21e-4ac1-bd88-01bbb068cb78”,
“receiptHandle”:“MessageReceiptHandle”,
“body”:“你好,来自SQS!”,
“属性”:{
“近似接收计数”:“1”,
“SentTimestamp”:“1523232000000”,
“SenderId”:“123456789012”,
“近似FirstReceiveTimeStamp”:“1523232000001”
},
“messageAttributes”:{},
“md5OfBody”:“{{{md5OfBody}}}”,
“事件源”:“aws:sqs”,
“eventSourceARN”:“arn:aws:sqs:ap-Southast-2:123456789012:MyQueue”,
“awsRegion”:“ap-东南-2”
}
]
}
因此,您可以通过以下方式获得mesageId
:
event["Records"][0]["messageId"]