从 S3 读取 Excel 文件并在 C# 中的 Lambda 函数中处理,其中 SNS 和 SQS 介于两者之间

问题描述 投票:0回答:0

我正在使用 .NET 6.0 来执行 AWS 的 Lambda 函数。

故事是这样的……

将包含数据的 Excel 文件上传到 S3 存储桶,在 S3 属性部分为其创建事件通知,为其创建 SNS,为其创建 SQS,从 SQS 订阅 SNS,然后使用 .NET 6.0 代码创建 Lambda 触发器,其中它获取 SQSEvent 对象并处理该 Excel 文件,并将处理后的 Excel 文件放入具有不同名称的同一个 S3 存储桶中。

在这种情况下,在 .NET 6.0 中创建 Lambda 函数时,我能够从 SQS 接收消息,但消息正文为 Null,如下面的屏幕截图所示。

如何获取带有内容的 Body,以便我可以从中创建 S3 Bucket 的 objectKey?

var record = sqsEvent.Records[0];
var s3Event = JsonConvert.DeserializeObject<JObject>(messageBody)["Records"][0]["s3"];
var bucketName = s3Event["bucket"]["name"].ToString();
var objectKey = s3Event["object"]["key"].ToString();

但是当我使用

record.S3.Bucket.Name
类而不是
record.S3.Object.Key
时,我能够看到
S3Event
SQSEvent
中的数据,如下所示

我在这里错过了什么?

.net amazon-s3 aws-lambda amazon-sqs amazon-sns
© www.soinside.com 2019 - 2024. All rights reserved.