Amazon Simple Storage Service
控制台用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

如何为 S3 存储桶启用和配置事件通知?

如果您在旧 Amazon S3 控制台中,要使用新控制台,请选择下框中的 Opt In,该选项显示在旧 Amazon S3 控制台主页上。请注意,Opt In 并非在所有区域中都可用。  

 选择使用新 Amazon S3 控制台 UI

您可以启用特定的 Amazon S3 存储桶事件,以便每次发生这些事件时都向目标发送通知消息。本部分介绍了如何使用 Amazon S3 控制台启用事件通知。有关使用事件通知的更多信息 ,请参阅 Amazon Simple Storage Service 开发人员指南 中的为 Amazon S3 事件配置通知

Amazon S3 可以发送以下事件的通知:

  • 对象创建的事件 - 在控制台中配置事件时选择 ObjectCreated (All),以便每次在存储桶中创建对象时都启用通知。或者,也可以选择一个或多个特定的对象创建操作以触发事件通知。这些操作是 PutPostCopyCompleteMultiPartUpload

  • 对象删除事件 - 在控制台中配置事件时选择 ObjectDelete (All),以便每次删除对象时都启用通知。或者,也可以选择 Delete,以在删除不受版本控制的对象或永久删除受版本控制的对象时触发事件通知。选择 Delete Marker Created 可在为受版本控制的对象创建删除标记时触发事件通知。

  • 低冗余存储 (RRS) 对象丢失事件 - 选择 RRSObjectLost 以在 Amazon S3 检测到 RRS 存储类的对象已丢失时收到通知。

事件通知消息可以发送到以下类型的目标:

  • Amazon Simple Notification Service (Amazon SNS) 主题 – 一项 Web 服务,用于协调和管理向订阅终端节点或客户端交付或发送消息的过程。

  • Amazon Simple Queue Service (Amazon SQS) 队列 – 提供可靠且可扩展的托管队列,用于存储计算机之间传输的消息。

  • Lambda 函数 – AWS Lambda 是一项可用来将代码上传到其上的计算服务,该服务可使用 AWS 基础设施代表您运行代码。您在创建 Lambda 函数时将自定义代码进行打包并上传到 AWS Lambda

您必须先设置这些目标类型之一,然后才能为存储桶启用事件通知。有关更多信息,请参阅 如何设置目标以接收事件通知?

为 S3 存储桶启用和配置事件通知

  1. 登录 AWS 管理控制台并通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/

  2. Bucket name 列表中,选择要为其启用事件的存储桶的名称。

  3. 选择 Properties.

  4. Advanced settings 下,选择 Events

  5. 选择 Add notification

  6. Name 中,键入事件配置的描述性名称。如果不输入名称,则会自动生成一个 GUID 并使用它作为名称。

  7. Events 下,选择一个或多个要为其接收通知的事件发生类型。事件发生时,会将通知发送到所选目标。例如,您可以执行以下任一操作:

    • 选择 ObjectCreate (All) 以便每次在存储桶中创建对象时都启用事件通知。

    • 选择 PutComplete MultipartUpload,以便每次向存储桶中放置新对象以及每次有分段上传完成时都触发事件通知。

    • 选择 ObjectDelete (All) 以便每次在存储桶中删除对象时都启用事件通知。

    • 选择 DeleteDelete Marker Created,以便为特定类型的对象删除操作触发通知。

    有关删除受版本控制的对象的信息,请参阅删除对象版本。有关对象版本控制的信息,请参阅对象版本控制使用版本控制

    注意

    当您从文件夹中删除最后一个对象时,Amazon S3 会生成对象创建事件。Amazon S3 控制台在以下情况下会显示文件夹:1) 在零字节对象的名称中有尾随斜杠 (/) 时 (在这种情况下,存在表示文件夹的零字节 Amazon S3 对象),以及 2) 在对象的名称中有斜杠 (/) 时 (在这种情况下,没有表示文件夹的实际对象)。如果有多个前缀相同的对象的尾随斜杠 (/) 是其名称的一部分,则这些对象将显示为文件夹的一部分。文件夹的名称由尾随斜杠 (/) 前面的字符构成。如果删除该文件夹下列出的所有对象,则没有任何实际对象均无法表示空文件夹。在这类情况下,Amazon S3 控制台会创建一个零字节对象来表示该文件夹。如果您启用了对象创建的事件通知,则由控制台执行的零字节对象创建操作将触发对象创建事件。

  8. 键入对象名称 Prefix 和/或 Suffix 以按前缀和/或后缀筛选事件通知。例如,您可以设置一个筛选器,以便仅在将文件添加到某个图像文件夹 (例如,带有名称前缀 images/ 的对象) 时收到通知。有关更多信息,请参阅使用对象键名称筛选配置通知

     活动
  9. 选择要将事件通知发送到其中的目标的类型。

     活动
    1. 如果选择 SNS Topic (SNS 主题) 目标类型:

      1. SNS topic 框中,键入名称,或从菜单中选择将从 Amazon S3 接收通知的 Amazon SNS 主题。有关 Amazon SNS 主题格式的信息,请参阅 SNS 常见问题

         活动
      2. (可选) 您也可以从菜单中选择 Add SNS topic ARN,并在 SNS topic ARN 中键入 SNS 主题的 ARN

         活动
    2. 如果选择 SQS queue 目标类型,请执行以下操作:

      1. SQS queue 中,键入或从菜单中选择要接收来自 Amazon S3 的通知的 Amazon SQS 队列的名称。有关 Amazon SQS 的信息,请参阅 Amazon Simple Queue Service 是什么?Amazon Simple Queue Service 开发人员指南 中)。

      2. (可选) 您也可以从菜单中选择 Add SQS topic ARN 并在 SQS queue ARN 中键入 SQS 队列的 ARN。

    3. 如果选择 Lambda Function 目标类型,请执行以下操作:

      1. Lambda Function 中,键入或选择要接收来自 Amazon S3 的通知的 Lambda 函数的名称。

      2. 如果包含您的存储桶的区域没有 Lambda 函数,系统会提示您输入 Lambda 函数 ARN。在 Lambda Function ARN 中,键入要接收来自 Amazon S3 的通知的 Lambda 函数的 ARN。

      3. (可选) 您也可以从菜单中选择 Add Lambda function ARN 并在 Lambda function ARN 中键入 Lambda 函数的 ARN。

      有关将 Lambda 用于 Amazon S3 的信息,请参阅 AWS Lambda Developer Guide 中的将 AWS Lambda 用于 Amazon S3

  10. 选择 Save。Amazon S3 会向事件通知目标发送一条测试消息。