建立中繼資料表組態 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立中繼資料表組態

若要在全受管Apache Iceberg中繼資料表中產生和存放 Amazon S3 中繼資料,您可以為一般用途儲存貯體建立中繼資料表組態。只要儲存貯體上的組態處於作用中狀態,Amazon S3 旨在持續更新中繼資料表,以反映資料的最新變更。此外,Amazon S3 會持續最佳化中繼資料表,以協助降低儲存成本並提高分析查詢效能。

對於每個一般用途儲存貯體,您可以建立包含兩個互補中繼資料表的中繼資料表組態:

  • 日誌表 – 根據預設,中繼資料表組態包含日誌表,可擷取儲存貯體中物件發生的事件。日誌資料表會以近乎即時的方式記錄對資料所做的變更,協助您識別上傳至儲存貯體的新資料、追蹤最近刪除的物件、監控生命週期轉換等。日誌資料表會記錄物件及其中繼資料的新物件和更新 (需要 PUTDELETE操作的更新)。

    日誌資料表只會針對您建立中繼資料表組態之後發生的變更事件 (例如上傳、更新和刪除) 擷取中繼資料。由於此資料表是可查詢的,因此您可以透過簡單的 SQL 查詢稽核儲存貯體的變更。

    每個中繼資料表組態都需要日誌表。(在初始版本的 S3 中繼資料中,日誌資料表稱為「中繼資料資料表」)。

    如需日誌資料表中存放哪些資料的詳細資訊,請參閱 S3 中繼資料日誌資料表結構描述

    為了協助將儲存成本降至最低,您可以選擇啟用日誌資料表記錄過期。如需詳細資訊,請參閱日誌資料表記錄即將過期

  • 即時庫存資料表 – 或者,您可以將即時庫存資料表新增至中繼資料資料表組態。即時庫存資料表提供儲存貯體中所有物件及其版本的簡單可查詢庫存,讓您可以判斷資料的最新狀態。

    您可以使用即時庫存資料表,透過識別要處理各種工作負載的物件,簡化和加速業務工作流程和大數據任務。例如,您可以查詢即時庫存資料表,以尋找存放在特定儲存類別中的所有物件、具有特定標籤的所有物件、未使用 (AWS KMS) 金鑰 (SSE-KMS) 進行伺服器端加密 AWS Key Management Service 的所有物件等。

    當您為中繼資料表組態啟用即時庫存資料表時,資料表會經歷稱為回填的程序,在此期間,Amazon S3 會掃描您的一般用途儲存貯體,以擷取儲存貯體中所有物件的初始中繼資料。視儲存貯體中的物件數量而定,此程序可能需要幾分鐘 (最少 15 分鐘) 到數小時。回填程序完成後,即時庫存資料表的狀態會從回填變更為作用中。回填完成後,物件的更新通常會在一小時內反映在即時庫存資料表中。

    您需要支付回填即時庫存資料表的費用。如果您的一般用途儲存貯體具有超過 10 億個物件,則也會向您收取即時庫存資料表的每月費用。如需詳細資訊,請參閱 Amazon S3 定價

    如需即時庫存資料表中存放哪些資料的詳細資訊,請參閱 S3 中繼資料即時庫存資料表結構描述

中繼資料表具有下列 Amazon Resource Name (ARN) 格式:

arn:aws:s3tables:region-code:account-id:bucket/aws-s3/table/metadata_table_name

日誌資料表具有名稱 journal,而即時庫存資料表具有名稱 inventory

當您建立中繼資料表組態時,中繼資料表會存放在 AWS 受管資料表儲存貯體中。您帳戶和相同區域中的所有中繼資料表組態都會存放在單一 AWS 受管資料表儲存貯體中。這些 AWS 受管資料表儲存貯體已命名aws-s3,並具有下列 Amazon Resource Name (ARN) 格式:

arn:aws:s3tables:region:account_id:bucket/aws-s3

例如,如果您的帳戶 ID 為 123456789012,而您的一般用途儲存貯體位於美國東部 (維吉尼亞北部) (us-east-1),您的 AWS 受管資料表儲存貯體也會在美國東部 (維吉尼亞北部) (us-east-1) 建立,並具有下列 ARN:

arn:aws:s3tables:us-east-1:123456789012:bucket/aws-s3

根據預設, AWS 受管資料表儲存貯體會使用 Amazon S3 受管金鑰 (SSE-S3) 以伺服器端加密進行加密。建立第一個中繼資料組態之後,您可以設定 AWS 受管資料表儲存貯體的預設加密設定,以搭配 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 使用伺服器端加密。如需詳細資訊,請參閱 AWS 受管資料表儲存貯體的加密在資料表儲存貯體中使用 AWS KMS 金鑰 (SSE-KMS) 指定伺服器端加密

在 AWS 受管資料表儲存貯體中,組態的中繼資料資料表通常會以下列命名格式存放在命名空間中:

b_general-purpose-bucket-name

如需中繼資料資料表命名空間的詳細資訊,請參閱 中繼資料表的運作方式

建立中繼資料表組態時,您可以選擇使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 透過伺服器端加密來加密 AWS 受管中繼資料表。如果您選擇使用 SSE-KMS,則必須在與一般用途儲存貯體相同的區域中提供客戶受管 KMS 金鑰。您只能在資料表建立期間設定資料表的加密類型。建立受管 AWS 資料表後,您無法變更其加密設定。若要為您的中繼資料資料表指定 SSE-KMS,您必須擁有特定許可。如需詳細資訊,請參閱 SSE-KMS 的許可

中繼資料資料表的加密設定優先於預設儲存貯體層級加密設定。如果您未指定資料表的加密,則會繼承儲存貯體的預設加密設定。

AWS 受管資料表儲存貯體不會計入 S3 Tables 配額。如需使用 AWS 受管資料表儲存貯體和 AWS 受管資料表的詳細資訊,請參閱使用 AWS 受管資料表儲存貯體

您可以使用 Amazon S3 主控台、 AWS Command Line Interface (AWS CLI)、 AWS SDKs 或 Amazon S3 REST API 來建立中繼資料表組態。

注意
  • 如果您在 2025 年 7 月 15 日之前建立 S3 中繼資料組態,建議您刪除並重新建立組態,以便使日誌資料表記錄過期並建立清查資料表。如需詳細資訊,請參閱在 2025 年 7 月 15 日之前建立的中繼資料組態上啟用庫存資料表

  • 如果您已刪除中繼資料資料表組態,並想要為相同的一般用途儲存貯體重新建立組態,您必須先從 AWS 受管資料表儲存貯體手動刪除舊日誌和清查資料表。否則,建立新中繼資料資料表組態會失敗,因為這些資料表已存在。若要刪除中繼資料表,請參閱 刪除中繼資料表

    刪除中繼資料表組態只會刪除組態。 AWS 受管資料表儲存貯體和中繼資料資料表仍然存在,即使您刪除中繼資料資料表組態也一樣。

先決條件

建立中繼資料表組態之前,請確定您符合下列先決條件:

  • 建立中繼資料表組態之前,請確定您擁有建立和管理中繼資料表所需的 AWS Identity and Access Management (IAM) 許可。如需詳細資訊,請參閱設定設定中繼資料表的許可

  • 如果您打算使用 Amazon Athena 或其他查詢引擎 AWS 查詢中繼資料表,請務必整合 AWS 受管資料表儲存貯體與 AWS 分析服務。如需詳細資訊,請參閱搭配使用 Amazon S3 Tables 與 AWS 分析服務

    如果您已在此區域中整合現有的資料表儲存貯體,您的 AWS 受管資料表儲存貯體也會自動整合。若要判斷此區域中資料表儲存貯體的整合狀態,請開啟 Amazon S3 主控台,然後在左側導覽窗格中選擇資料表儲存貯體。在與 AWS 分析服務的整合下,檢查區域以及整合狀態是否顯示已啟用

建立中繼資料表組態

建立中繼資料表組態

建立中繼資料表組態之前,請確定您已檢閱並符合先決條件,而且已檢閱中繼資料表限制

  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. 在左側導覽窗格中,選擇一般用途儲存貯體

  3. 選擇您要為其建立中繼資料表組態的一般用途儲存貯體。

    注意

    請確定此一般用途儲存貯體是可使用 AWS 區域 資料表儲存貯體的 。資料表儲存貯體僅適用於美國東部 (維吉尼亞北部)、美國東部 (俄亥俄) 和美國西部 (奧勒岡) 區域。

  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 金鑰

      請確定您已設定 SSE-KMS 的必要許可。如需詳細資訊,請參閱 SSE-KMS 的許可

  7. (選用) 根據預設,日誌資料表中的記錄不會過期。為了協助將日誌資料表的儲存成本降至最低,請選擇已啟用以進行記錄過期

    如果您啟用日誌資料表記錄過期,您可以設定保留日誌資料表記錄的天數。若要設定記錄過期值的天數,您可以指定介於 7和 之間的任何整數2147483647。例如,若要將日誌資料表記錄保留一年,請將此值設定為 365

    記錄將在符合過期資格後 24 到 48 小時內過期。

    重要

    日誌資料表記錄過期後,就無法復原。

    日誌資料表記錄的指定天數後過期,請選取核取方塊。

  8. (選用) 如果您想要將庫存資料表新增至中繼資料資料表組態,請在即時庫存資料表下,選擇啟用組態狀態

    您可以選擇是否使用 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 金鑰

      請確定您已設定 SSE-KMS 的必要許可。如需詳細資訊,請參閱 SSE-KMS 的許可

  9. 選擇建立中繼資料表組態

如果您的中繼資料表組態成功,中繼資料表的名稱和 ARNs 會顯示在中繼資料索引標籤上,以及受 AWS 管資料表儲存貯體和命名空間的名稱。

如果您選擇為中繼資料表組態啟用清查表,則該資料表會經歷稱為回填的程序,在此期間,Amazon S3 會掃描您的一般用途儲存貯體,以擷取儲存貯體中所有物件的初始中繼資料。視儲存貯體中的物件數量而定,此程序可能需要幾分鐘 (最少 15 分鐘) 到數小時。回填程序完成後,庫存資料表的狀態會從回填變更為作用中。回填完成後,物件的更新通常會在一小時內反映在庫存資料表中。

若要監控中繼資料表組態的更新,您可以使用 AWS CloudTrail。如需詳細資訊,請參閱CloudTrail 日誌記錄所追蹤的 Amazon S3 儲存貯體層級動作

若要執行下列命令,您必須 AWS CLI 安裝並設定 。如果您尚未 AWS CLI 安裝 ,請參閱AWS Command Line Interface 《 使用者指南》中的安裝或更新至最新版本的 AWS CLI

或者,您可以使用 從主控台執行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是一種以瀏覽器為基礎的預先驗證 Shell,您可以直接從 啟動 AWS Management Console。如需詳細資訊,請參閱《AWS CloudShell 使用者指南》中的什麼是 CloudShell開始使用 AWS CloudShell

使用 建立中繼資料表組態 AWS CLI

建立中繼資料表組態之前,請確定您已檢閱並符合先決條件,而且已檢閱中繼資料表限制

若要使用下列範例命令,請將 user input placeholders 取代為您自己的資訊。

  1. 建立包含中繼資料表組態的 JSON 檔案,然後儲存檔案 (例如 metadata-config.json)。以下是範例組態。

    您必須指定要啟用或停用日誌資料表記錄過期。如果您選擇啟用記錄過期,您還必須指定日誌資料表記錄過期的天數。若要設定 Days值,您可以指定介於 7和 之間的任何整數2147483647。例如,若要將日誌資料表記錄保留一年,請將此值設定為 365

    您可以選擇設定清查資料表。

    對於日誌資料表和庫存資料表,您可以選擇指定加密組態。根據預設,中繼資料表會使用 Amazon S3 受管金鑰 (SSE-S3) 進行伺服器端加密,您可以將 SseAlgorithm設定為 來指定AES256

    若要使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 透過伺服器端加密來加密中繼資料表,請將 SseAlgorithm設定為 aws:kms。您也必須在一般用途儲存貯體所在的相同區域中KmsKeyArn,將 設定為客戶受管 KMS 金鑰的 ARN。

    { "JournalTableConfiguration": { "RecordExpiration": { "Expiration": "ENABLED", "Days": 10 }, "EncryptionConfiguration": { "SseAlgorithm": "AES256" } }, "InventoryTableConfiguration": { "ConfigurationState": "ENABLED", "EncryptionConfiguration": { "SseAlgorithm": "aws:kms", "KmsKeyArn": "arn:aws:kms:us-east-2:account-id:key/key-id" } } }
  2. 使用下列命令,將中繼資料表組態套用至您的一般用途儲存貯體 (例如 amzn-s3-demo-bucket):

    aws s3api create-bucket-metadata-configuration \ --bucket amzn-s3-demo-bucket \ --metadata-configuration file://./metadata-config.json \ --region us-east-2
  3. 若要確認已建立組態,請使用下列命令:

    aws s3api get-bucket-metadata-configuration \ --bucket amzn-s3-demo-bucket \ --region us-east-2

若要監控中繼資料表組態的更新,您可以使用 AWS CloudTrail。如需詳細資訊,請參閱CloudTrail 日誌記錄所追蹤的 Amazon S3 儲存貯體層級動作

您可以傳送 REST 請求來建立中繼資料表組態。如需詳細資訊,請參閱 Amazon S3 API 參考中的 CreateBucketMetadataConfiguration

您可以使用 AWS SDKs 在 Amazon S3 中建立中繼資料表組態。如需相關資訊,請參閱 Amazon S3 API 參考中的支援的 SDK 清單

在 2025 年 7 月 15 日之前建立的中繼資料組態上啟用庫存資料表

如果您在 2025 年 7 月 15 日之前建立 S3 中繼資料組態,建議您刪除並重新建立組態,以便使日誌資料表記錄過期並建立清查資料表。刪除舊組態和建立新組態之間的一般用途儲存貯體的任何變更都不會記錄在任一日誌資料表中。

若要從舊中繼資料組態遷移至新組態,請執行下列動作:

  1. 刪除現有的中繼資料表組態。如需逐步說明,請參閱 刪除中繼資料表組態

  2. 建立新的中繼資料表組態。如需逐步說明,請參閱 建立中繼資料表組態

如果您需要遷移組態的協助,請聯絡 AWS 支援。

建立新的中繼資料組態之後,您會有兩個日誌資料表。如果您不再需要舊的日誌資料表,則可以將其刪除。如需逐步說明,請參閱 刪除中繼資料表。如果您已保留舊的日誌資料表,並想要將其與新的日誌資料表聯結,請參閱 以取得如何聯結兩個資料表將自訂中繼資料與 S3 中繼資料表聯結的範例。

遷移後,您可以執行下列動作:

  1. 若要檢視您的組態,您現在可以使用 GetBucketMetadataConfiguration API 操作。若要判斷您的組態是舊的還是新的,您可以查看 GetBucketMetadataConfiguration API 回應的下列屬性。受管儲存貯體類型 AWS ("aws") 表示新組態,而客戶受管儲存貯體類型 ("customer") 表示舊組態。

    "MetadataTableConfigurationResult": { "TableBucketType": ["aws" | "customer"]

    如需詳細資訊,請參閱檢視中繼資料表組態

    注意

    您可以使用 GetBucketMetadataConfigurationDeleteBucketMetadataConfiguration API 操作搭配舊的或新的中繼資料表組態。不過,如果您嘗試搭配新組態使用 GetBucketMetadataTableConfigurationDeleteBucketMetadataTableConfiguration API 操作,您將會收到 HTTP 405 Method Not Allowed錯誤。

    請務必將程序更新為使用新的 API 操作 (CreateBucketMetadataConfiguration、 和 DeleteBucketMetadataConfiguration)GetBucketMetadataConfiguration,而非舊的 API 操作。

  2. 如果您打算使用 Amazon Athena 或其他查詢引擎 AWS 查詢中繼資料表,請務必整合 AWS 受管資料表儲存貯體與 AWS 分析服務。如果您已在此區域中整合現有的資料表儲存貯體,您的 AWS 受管資料表儲存貯體也會自動整合。如需詳細資訊,請參閱搭配使用 Amazon S3 Tables 與 AWS 分析服務