我有这样的基础设施:S3-> SQS-> Lambda。当文件被拖放到 S3 时,它会将事件放入 SQS 队列,然后由 lambda 函数使用。
Lambda 是用 .net 核心编写的。在 lambda handlers 参数中,我SQSEvent在它的主体中收到一个和,它S3Event被序列化为 Json。
类结构大致如下。它们直接来自 AWS .net SDK。
class SQSEvent
{
public List<SQSMessage> Records;
...
}
class SQSMessage
{
public string Body; // json serialized S3Event is put into here
...
}
class S3Event
{
public List<S3EventNotification> Records;
...
}
我很好奇的部分是,两者SQSEvent都有S3Event记录列表。在我的实验中,我总是在这些列表中收到一个项目。是否知道在哪些情况下这些Records列表中的任何一个将包含多个项目?我没有找到说明这种行为的文件。