如何使用Lambda从SQS中提取S3事件信息

3
我正在将S3事件推送到SQS,以触发Lambda函数。我试图提取S3事件信息,然而SQSEvent对象返回一批记录,每个记录都是S3Event类型。
记录每个记录的消息正文会确认已转发到SQS的S3Event。
private async Task ProcessMessageAsync(SQSEvent.SQSMessage message, ILambdaContext context)
{
    context.Logger.LogLine($"Processed message {message.Body}");
}

这将返回:

"Records": [ { "eventVersion": "2.1", "eventSource": "aws:s3", "eventName": "ObjectCreated:Put", "s3": { "s3SchemaVersion": "1.0", "bucket": {......} } } ]

我该如何将消息转换为S3Event对象以提取信息?

谢谢。

1个回答

1

弄明白了这个问题,

S3EventNotification e = S3EventNotification.ParseJson(message.Body);
context.Logger.LogLine($"Processed message {e.Records[0].S3.Object.Key}");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接