1

次のようなインフラストラクチャがあります: S3-> SQS-> Lambda。ファイルが S3 にドロップされると、イベントが SQS キューに入れられ、ラムダ関数によって消費されます。

Lambda は .net コアで記述されています。ラムダ ハンドラー パラメーターでは、Json にシリアル化された and をSQSEvent本体内で受け取ります。S3Event

クラス構造はおおまかに以下の通りです。これらは、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;
    ...
}

私が興味を持っているのは、 と の両方がレコードのリストを持っていることですSQSEventS3Event私の実験では、常にこれらのリストの 1 つのアイテムを受け取りました。Recordsこれらのリストのいずれかに複数の項目が含まれる状況はわかっていますか? この動作について述べた文書は見つかりませんでした。

4

1 に答える 1

2

多数のレコードが非常に短い時間で生成される場合 (たとえば、多数の S3 ファイルが同時にアップロードされた場合)、Amazon は単一のイベントでレコードのリストを送信することがあります。

于 2019-12-26T23:42:23.167 に答える