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 服务配额。
有关事件通知的更多信息,请参阅以下部分: