原本一筆資料會是一個 S3 Object ,像是下面這樣。
{
ad_id: "ad_31",
impression_id: "imp_1",
user_id: "user_22",
timestamp: "2026-02-07T19:01:12Z",
source_url: "https://pryrqder.example.com/"
}
上篇已經可以讓 Lambda 一次處理多個 message ,所以可以調整成多個 record 集結成一個 S3 Object 。
[
{
ad_id: "ad_85",
impression_id: "imp_93",
user_id: "user_19",
timestamp: "2026-02-07T19:02:19Z",
source_url: "https://lfhfelpe.example.com/"
},
{
ad_id: "ad_46",
impression_id: "imp_49",
user_id: "user_71",
timestamp: "2026-02-07T19:02:19Z",
source_url: "https://pgvfzyxd.example.com/"
},
.
.
.
]
然後一樣用 put_object 把資料推到 S3 ,差別在於之前是推一個 json object ,現在是把資料收集成一個 json list 。這樣不只可以節省處理的時間,還可以省一點錢。假設有一百萬個 request ,如果 1 個 request 是 1 個 object ,資料寫入總共需花費 0.005 * 1000 = 5 美金,但如果 100 個 request 集結成 1 個 object ,資料寫入總共需花費 0.005 * 10 = 0.05 美金,省得錢不多,但長期下來也是一筆不小的金額。