启用或禁用实时清单表
默认情况下,元数据表配置包含一个日记表,该表记录存储桶中的对象发生的事件。每个元数据表配置都需要日记表。
或者,可以将实时清单表添加到元数据表配置中。实时清单表提供存储桶中所有对象及其版本的简单、可查询的清单,以便您可以确定数据的最新状态。
注意
如果您在 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 会创建一个新的清单表,并且您需要再次支付回填新清单表的费用。
启用或禁用清单表
启用或禁用清单表
登录到 AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,选择通用存储桶。
-
选择通用存储桶,该存储桶具有要为其启用或禁用清单表的元数据表配置。
-
在存储桶的详细信息页面上,选择元数据选项卡。
-
在元数据选项卡上,选择编辑,然后选择编辑清单表配置。
-
在编辑清单表配置页面上,在清单表下方选择已启用或已禁用。
注意
在选择已启用之前,请确保您已查看并符合先决条件。
-
如果选择了已启用,则可以选择是否通过使用 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 密钥。
-
-
如果选择了已禁用,则在禁用清单表后,该表将不再更新,也无法继续更新下,选中该复选框。
-
-
选择保存更改。
要运行以下命令,您必须安装并配置 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
注意
在启用清单配置之前,请确保您已查看并符合先决条件。
-
创建包含清单表配置的 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" } }
-
使用以下命令更新通用存储桶(例如
)的清单表配置: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 \ --regionus-east-2
可以发送 REST 请求来启用或禁用清单表。有关更多信息,请参阅 UpdateBucketMetadataInventoryTableConfiguration。
在 Amazon S3 中可以使用 AWS SDK 来启用或禁用清单表。有关信息,请参阅 list of supported SDKs。