Amazon S3 事件通知 - Amazon Simple Storage Service

Amazon S3 事件通知

您可以使用 Amazon S3 事件通知特征在 S3 存储桶中发生某些事件时接收通知。要启用通知,请添加一个通知配置,该配置标识您希望 Amazon S3 发布的事件。确保它还标识您希望 Amazon S3 将通知发送到的目的地。您可以将此配置存储在与存储桶关联的通知子资源中。有关更多信息,请参阅 存储桶配置选项。Amazon S3 提供了一个 API,用于管理此子资源。

重要

Amazon S3 事件通知设计为至少传送一次。通常,事件通知在几秒内传输,不过有时可能需要一分钟或更长时间。

Amazon S3 事件通知概述

目前,Amazon S3 可以发布用于以下事件的通知:

  • 新的对象创建事件

  • 对象移除事件

  • 还原对象事件

  • 低冗余存储 (RRS) 对象丢失事件

  • 复制事件

  • S3 生命周期到期事件

  • S3 生命周期转换事件

  • S3 Intelligent-Tiering 自动归档事件

  • 对象标记事件

  • 对象 ACL PUT 事件

有关受支持事件类型的完整描述,请参阅 SQS、SNS 和 Lambda 支持的事件类型

Amazon S3 可以将事件通知消息发送到以下目标。您在通知配置中指定这些目标的 Amazon Resource Name (ARN) 值。

  • Amazon Simple Notification Service (Amazon SNS) 主题

  • Amazon Simple Queue Service (Amazon SQS) 队列

  • AWS Lambda 函数

  • Amazon EventBridge

有关更多信息,请参阅 受支持的事件目标

注意

不支持将 Amazon Simple Queue Service FIFO(先进先出)队列作为 Amazon S3 事件通知目标。要向 Amazon SQS FIFO 队列发送 Amazon S3 事件的通知,您可以使用 Amazon EventBridge。有关更多信息,请参阅 启用 Amazon EventBridge

警告

如果您的通知写入触发通知的同一存储桶,则可能会导致执行循环。例如,如果每当上传一个对象,存储桶就触发某个 Lambda 函数,而该函数又上传一个对象给存储桶,则该函数间接触发了自身。为避免这种情况,请使用两个存储桶,或将触发器配置为仅适用于传入对象所用的前缀。

有关将 Amazon S3 通知与 AWS Lambda 结合使用的更多信息和示例,请参阅 AWS Lambda 开发人员指南中的结合使用 AWS Lambda 和 Amazon S3

有关每个存储桶可以创建的事件通知配置数的更多信息,请参阅 AWS 一般参考中的 Amazon S3 服务配额

有关事件通知的更多信息,请参阅以下部分: