View a markdown version of this page

启用或禁用实时清单表 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

启用或禁用实时清单表

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

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

注意

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

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

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

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

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

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

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

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

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

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

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

先决条件

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

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

启用或禁用清单表

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

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

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

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

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

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

    注意

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

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

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

      重要

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

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

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

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

  7. 选择保存更改。

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

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

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

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

注意

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

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

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

    要通过使用 Amazon Key Management Service(Amazon 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 中可以使用 Amazon SDK 来启用或禁用清单表。有关信息,请参阅 list of supported SDKs。