Amazon Simple Storage Service
控制台用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

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

Amazon S3 事件通知类型和目标

在为存储桶配置事件通知时,必须指定要针对哪些事件类型进行通知以及希望通知发送到哪些目标。

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

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

     

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

     

  • 还原对象事件 – 在控制台中配置事件,以便为 GLACIER 存储类中所存储对象的还原启用通知。选择 Restore from Glacier initiated (已启动从 Glacier 还原),以便在启动还原时收到通知。选择 Restore from Glacier completed (已完成从 Glacier 还原),以便在完成对象还原时收到通知。

     

  • 低冗余存储 (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. 选择属性

  4. Advanced settings 下,选择 Events

  5. 选择 Add notification

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

  7. Events 下,选择一个或多个要为其接收通知的事件发生类型。当事件发生时,会向您在步骤 9 中选择的目标发送通知。有关事件类型的说明,请参阅Amazon S3 事件通知类型和目标

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

    注意

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

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

    
              输入前缀以用于筛选事件
  9. 选择要将事件通知发送到其中的目标的类型。有关目标的说明,请参阅Amazon S3 事件通知类型和目标

    
              事件
    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 (SQS 队列) 中,键入或从菜单中选择要接收来自 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 (Lambda 函数) 目标类型,请执行以下操作:

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

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

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

      有关将 Lambda 与 Amazon S3 结合使用的信息,请参阅AWS Lambda Developer Guide中的将 AWS Lambda 与 Amazon S3 结合使用

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

更多信息

本页内容: