我有这样的基础设施: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
列表中的任何一个将包含多个项目?我没有找到说明这种行为的文件。