启用或禁用实时清单表 - Amazon Simple Storage Service

启用或禁用实时清单表

默认情况下,元数据表配置包含一个日记表,该表记录存储桶中的对象发生的事件。每个元数据表配置都需要日记表。

或者,可以将实时清单表添加到元数据表配置中。实时清单表提供存储桶中所有对象及其版本的简单、可查询的清单,以便您可以确定数据的最新状态。

注意

如果您在 2025 年 7 月 15 日之前创建了 S3 元数据配置,则无法对该配置启用清单表。我们建议您删除配置并重新创建配置,以便可以创建清单表并使日记表记录过期。有关更多信息,请参阅 对在 2025 年 7 月 15 日之前创建的元数据配置启用清单表

清单表包含存储桶中所有对象的最新元数据。可以使用此表,通过确定要为各种工作负载处理的对象,从而简化和加快业务工作流程和大数据作业。例如,可以查询清单表来执行以下操作:

  • 查找存储在 S3 Glacier Deep Archive 存储类别中的所有对象。

  • 创建对象标签的分配或查找不带标签的对象。

  • 查找所有未使用具有 AWS Key Management Service(AWS KMS)密钥的服务器端加密(SSE-KMS)进行加密的对象。

  • 比较两个不同时间点的清单表,以了解带有特定标签的对象的增长情况。

如果您选择为元数据表配置启用清单表,则该表将经历一个称为回填的过程,在此过程中,Amazon S3 扫描通用存储桶,以检索存储桶中存在的所有对象的初始元数据。根据存储桶中的对象数量,此过程可能需要若干分钟(至少 15 分钟)到几小时。完成回填过程后,清单表的状态将从正在回填更改为活跃。完成回填后,对于对象的更新通常会在一小时内反映在清单表中。

注意
  • 您需要为回填清单表付费。如果通用存储桶包含超过十亿个对象,您还需要为清单表支付每月费用。有关更多信息,请参阅 Amazon S3 定价

  • 无法暂停对清单表的更新,然后继续更新。但是,可以禁用清单表配置。禁用清单表不会将其删除。将为记录保留清单表,直到决定将其删除。

    如果已禁用清单表,之后想重新启用它,则必须先从 AWS 托管式表存储桶中删除旧的清单表。当重新启用清单表配置时,Amazon S3 会创建一个新的清单表,并且您需要再次支付回填新清单表的费用。

可以使用 Amazon S3 控制台、AWS Command Line Interface(AWS CLI)、AWS SDK 或 Amazon S3 REST API 来启用或禁用清单表。

先决条件

如果已禁用清单表,现在想重新启用它,则必须先从 AWS 托管式表存储桶中手动删除旧的清单表。否则,由于表存储桶中已存在清单表,因此重新启用清单表将失败。要删除清单表,请参阅删除元数据表

当重新启用清单表配置时,Amazon S3 会创建一个新的清单表,并且您需要再次支付回填新清单表的费用。

启用或禁用清单表

启用或禁用清单表
  1. 登录到 AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在左侧导航窗格中,选择通用存储桶

  3. 选择通用存储桶,该存储桶具有要为其启用或禁用清单表的元数据表配置。

  4. 在存储桶的详细信息页面上,选择元数据选项卡。

  5. 元数据选项卡上,选择编辑,然后选择编辑清单表配置

  6. 编辑清单表配置页面上,在清单表下方选择已启用已禁用

    注意

    在选择已启用之前,请确保您已查看并符合先决条件

    • 如果选择了已启用,则可以选择是否通过使用 AWS Key Management Service(AWS KMS)密钥的服务器端加密(SSE-KMS)来对表进行加密。默认情况下,清单表将通过使用 Amazon S3 托管式密钥的服务器端加密(SSE-S3)进行加密。

      如果您选择使用 SSE-KMS,则必须提供与通用存储桶位于同一区域的客户自主管理型 KMS 密钥。

      重要

      只能在创建表的过程中为元数据表设置加密类型。创建 AWS 托管式表后,无法更改其加密设置。

      • 要使用 SSE-S3(默认)加密清单表,请选择不指定加密类型

      • 要使用 SSE-KMS 加密清单表,请选择指定加密类型。在加密类型下,选择使用 AWS Key Management Service(AWS KMS)密钥的服务器端加密(SSE-KMS)。在 AWS KMS 密钥下,从现有 KMS 密钥中进行选择,或者输入 KMS 密钥 ARN。如果您还没有 KMS 密钥,请选择输入 KMS 密钥 ARN,然后选择创建 KMS 密钥

    • 如果选择了已禁用,则在禁用清单表后,该表将不再更新,也无法继续更新下,选中该复选框。

  7. 选择保存更改

要运行以下命令,您必须安装并配置 AWS CLI。如果未安装 AWS CLI,请参阅《AWS Command Line Interface 用户指南》中的安装或更新最新版本的 AWS CLI

或者,可以从控制台中使用 AWS CloudShell 运行 AWS CLI 命令。AWS CloudShell 是一个基于浏览器、预先经过身份验证的 Shell,您可以直接从 AWS Management Console中启动它。有关更多信息,请参阅《AWS CloudShell 用户指南》中的 What is CloudShell?Getting started with AWS CloudShell

使用 AWS CLI 启用或禁用清单表

要使用以下示例命令,请将 user input placeholders 替换为您自己的信息。

注意

在启用清单配置之前,请确保您已查看并符合先决条件

  1. 创建包含清单表配置的 JSON 文件并将其保存(例如 inventory-config.json)。以下是一个用于启用新清单表的示例配置。

    如果要启用清单表,则可以选择指定加密配置。默认情况下,元数据表通过使用 Amazon S3 托管式密钥的服务器端加密(SSE-S3)进行加密,可以通过将 SseAlgorithm 设置为 AES256 来指定此加密方式。

    要通过使用 AWS Key Management Service(AWS KMS)密钥的服务器端加密(SSE-KMS)来加密清单表,请将 SseAlgorithm 设置为 aws:kms。还必须将 KmsKeyArn 设置为通用存储桶所在区域中客户自主管理型 KMS 密钥的 ARN。

    { "ConfigurationState": "ENABLED", "EncryptionConfiguration": { "SseAlgorithm": "aws:kms", "KmsKeyArn": "arn:aws:kms:us-east-2:account-id:key/key-id" } }

    如果要禁用现有清单表,请使用以下配置:

    { "ConfigurationState": "DISABLED" } }
  2. 使用以下命令更新通用存储桶(例如 amzn-s3-demo-bucket)的清单表配置:

    aws s3api update-bucket-metadata-inventory-table-configuration \ --bucket amzn-s3-demo-source-bucket \ --inventory-table-configuration file://./inventory-config.json \ --region us-east-2

可以发送 REST 请求来启用或禁用清单表。有关更多信息,请参阅 UpdateBucketMetadataInventoryTableConfiguration

在 Amazon S3 中可以使用 AWS SDK 来启用或禁用清单表。有关信息,请参阅 list of supported SDKs