Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

配置事件通知

您可以通过创建通知配置 XML 并使用租户管理器将 XML 应用到存储桶来启用存储桶的通知。

开始之前
  • StorageGRID管理员已为您的租户帐户启用平台服务。

  • 您已经创建了一个存储桶作为通知源。

  • 您打算用作事件通知目标的端点已经存在,并且您有其 URN。

  • 您属于具有"管理所有 bucket 或 Root 访问权限"。使用租户管理器配置存储桶时,这些权限会覆盖组或存储桶策略中的权限设置。

关于此任务

您可以通过将通知配置 XML 与源存储桶关联来配置事件通知。通知配置 XML 遵循 S3 约定来配置存储桶通知,并将目标 Kafka 或 Amazon SNS 主题指定为端点的 URN。

有关事件通知及其配置方法的一般信息,请参阅 "亚马逊文档"。有关StorageGRID如何实现 S3 存储桶通知配置 API 的信息,请参阅"实施 S3 客户端应用程序的说明"

为存储桶配置事件通知时,请注意以下要求和特征:

  • 当您创建并应用有效的通知配置 XML 时,它必须使用每个目标的事件通知端点的 URN。

  • 虽然可以在启用 S3 对象锁定的存储桶上配置事件通知,但对象的 S3 对象锁定元数据(包括保留截止日期和合法保留状态)不会包含在通知消息中。

  • 配置事件通知后,每当源存储桶中的对象发生指定事件时,都会生成通知并发送到用作目标终端节点的 Amazon SNS 或 Kafka 主题。

  • 如果您为包含对象的存储桶启用事件通知,则仅针对保存通知配置后执行的操作发送通知。

步骤
  1. 为您的源存储桶启用通知:

    • 使用文本编辑器创建启用事件通知所需的通知配置 XML,如 S3 通知 API 中所指定。

    • 配置 XML 时,使用事件通知端点的 URN 作为目标主题。

      <NotificationConfiguration>
        <TopicConfiguration>
           <Id>Image-created</Id>
           <Filter>
              <S3Key>
                <FilterRule>
                  <Name>prefix</Name>
                  <Value>images/</Value>
                </FilterRule>
              </S3Key>
          </Filter>
          <Topic>arn:aws:sns:us-east-1:050340950352:sgws-topic</Topic>
          <Event>s3:ObjectCreated:*</Event>
         </TopicConfiguration>
       </NotificationConfiguration>
  2. 在租户管理器中,选择 STORAGE (S3) > Buckets

  3. 选择源存储桶的名称。

    出现存储桶详细信息页面。

  4. 选择*平台服务* > 事件通知

  5. 选中“启用事件通知”复选框。

  6. 将通知配置 XML 粘贴到文本框中,然后选择*保存更改*。

    备注 StorageGRID管理员必须使用 Grid Manager 或 Grid Management API 为每个租户帐户启用平台服务。如果保存配置 XML 时出现错误,请联系您的StorageGRID管理员。
  7. 验证事件通知是否配置正确:

    1. 对源存储桶中符合配置 XML 中配置的触发通知要求的对象执行操作。

      在示例中,每当使用以下方式创建对象时,都会发送事件通知: `images/`前缀。

    2. 确认通知已传送至目标 Amazon SNS 或 Kafka 主题。

      例如,如果您的目标主题托管在 Amazon SNS 上,您可以配置该服务以在通知送达时向您发送电子邮件。

    {
       "Records":[
          {
             "eventVersion":"2.0",
             "eventSource":"sgws:s3",
             "eventTime":"2017-08-08T23:52:38Z",
             "eventName":"ObjectCreated:Put",
             "userIdentity":{
                "principalId":"1111111111111111111"
             },
             "requestParameters":{
                "sourceIPAddress":"193.51.100.20"
             },
             "responseElements":{
                "x-amz-request-id":"122047343"
             },
             "s3":{
                "s3SchemaVersion":"1.0",
                "configurationId":"Image-created",
                "bucket":{
                   "name":"test1",
                   "ownerIdentity":{
                      "principalId":"1111111111111111111"
                   },
                   "arn":"arn:sgws:s3:::test1"
                },
                "object":{
                   "key":"images/cat.jpg",
                   "size":0,
                   "eTag":"d41d8cd98f00b204e9800998ecf8427e",
                   "sequencer":"14D90402421461C7"
                }
             }
          }
       ]
    }

    + 如果在目标主题收到通知,则表示您已成功为StorageGRID通知配置源存储桶。