You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS S3生命周期过期事件触发Lambda:单批还是单对象调用?

S3生命周期过期事件触发Lambda的批量规则

当S3存储桶有大量对象因生命周期策略过期时,不会针对每个对象单独触发Lambda调用,但也不会一次性把10万条记录都塞进一个Lambda事件里,而是按规则批量聚合后发送。

具体逻辑:

  • S3会将过期对象的事件进行批量聚合,单个Lambda事件的Records数组最多包含1000条记录(该数值可在S3事件通知配置中调整,但存在上限)
  • 针对100,000个过期对象,会触发约100次Lambda调用(100000÷1000),每个调用的事件结构和你提供的示例一致,只是Records中最多包含1000条过期对象的记录

示例事件结构(S3标准字段无需翻译):

{
  "Records": [
    {
      "eventVersion": "2.1",
      "eventTime": "2024-10-18T12:00:00.000Z",
      "eventName": "DeleteObject",
      "s3": {
        "bucket": {
          "name": "my-bucket"
        },
        "object": {
          "key": "object1"
        }
      }
    },
    {
      "eventVersion": "2.1",
      "eventTime": "2024-10-18T12:00:00.000Z",
      "eventName": "DeleteObject",
      "s3": {
        "bucket": {
          "name": "my-bucket"
        },
        "object": {
          "key": "object2"
        }
      }
    },
    ...
    {
      "eventVersion": "2.1",
      "eventTime": "2024-10-18T12:00:00.000Z",
      "eventName": "DeleteObject",
      "s3": {
        "bucket": {
          "name": "my-bucket"
        },
        "object": {
          "key": "object1000"
        }
      }
    }
  ]
}

额外注意:

  • 批量事件会在短时间内连续触发,需确保Lambda能应对并发调用
  • 若Lambda处理失败,S3会自动重试,因此你的元数据删除逻辑要保证幂等性,避免重复操作导致数据异常

内容的提问来源于stack exchange,提问作者Suprem Vanam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 05:33:16