

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

# S3 Metadata 即時庫存資料表結構描述
<a name="metadata-tables-inventory-schema"></a>

即時庫存資料表提供了儲存貯體中所有物件及其版本的簡單、可查詢的庫存，以方便您確認資料的最新狀態。對物件的更新通常會在一小時內反映在庫存資料表中。

您可以使用此資料表，透過識別要針對各種工作負載進行處理的物件，簡化並加快業務工作流程和巨量資料任務。例如，您可以查詢庫存資料表，以執行下列動作：
+ 尋找儲存在 S3 Glacier Deep Archive 儲存類別中的所有物件。
+ 建立物件標籤的分佈，或尋找沒有標籤的物件。
+ 尋找所有未加密的物件，方法是使用伺服器端加密搭配 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS)。

如果您為中繼資料表組態啟用庫存資料表，資料表會通過一個稱為*回填*的程序，在該期間 Amazon S3 會掃描您的一般用途儲存貯體，以擷取存在於儲存貯體中所有物件的初始中繼資料。根據您的儲存貯體中的物件數量，此程序可能需要幾分鐘 (至少 15 分鐘) 至數小時。回填程序完成後，庫存資料表的狀態會從**回填**變更為**作用中**。回填完成後，對物件的更新通常會在一小時內反映在庫存資料表中。

**注意**  
您需要為回填庫存資料表付費。如果您的一般用途儲存貯體擁有超過十億個物件，則您的庫存資料表還需要每月支付費用。如需詳細資訊，請參閱 [Amazon S3 定價](https://aws.amazon.com/s3/pricing/)。

Amazon S3 Metadata 庫存資料表包含列和欄。每一列代表一般用途儲存貯體中物件的目前狀態。庫存資料表提供了儲存貯體中所有物件簡單、可查詢的庫存，以方便您確認資料的目前狀態。

以下是名為 `amzn-s3-demo-bucket:` 之一般用途儲存貯體的庫存資料表範例 

```
bucket                key                        sequence_number                                                                                          version_id   is_delete_marker   size   last_modified_date   e_tag	                          storage_class   is_multipart   encryption_status   is_bucket_key_enabled   kms_key_arn                                                                   checksum_algorithm   object_tags   user_metadata
amzn-s3-demo-bucket Finance/statement1.pdf     80e737d8b4d82f776affffffffffffffff006737d8b4d82f776a00000000000000000000000000000000000000000000000072                FALSE              6223   11/15/2024 23:26     e131b86632dda753aac4018f72192b83    STANDARD	  FALSE          SSE-KMS             FALSE                   arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890df   SSECRC32             {}            {count -> Asia, customs -> false, family -> true, location -> Mary, name -> football, user -> United States}
amzn-s3-demo-bucket s3-dg.pdf                  80e737d8b4e39f1dbdffffffffffffffff006737d8b4e39f1dbd00000000000000000000000000000000000000000000000072                FALSE              3554   11/15/2024 23:26     9bb49efc2d92c05558ddffbbde8636d5    STANDARD	  FALSE          DSSE-KMS            FALSE                   arn:aws:kms:us-east-1:936810216292:key/0dcebce6-49fd-4cae-b2e2-5512ad281afd   SSESHA1              {}            {}
amzn-s3-demo-bucket Development/Projects.xls   80e737d8b4ed9ac5c6ffffffffffffffff006737d8b4ed9ac5c600000000000000000000000000000000000000000000000072                FALSE              7746   11/15/2024 23:26     729a6863e47fb9955b31bfabce984908    STANDARD	  FALSE          SSE-S3              FALSE                   NULL                                                                          SSECRC32             {}            {count -> Asia, customs -> Canada, family -> Billiards, filter -> true, location -> Europe, name -> Asia, user -> United States}
```

庫存資料表具有下列結構描述：


| 欄名稱 | 是否為必要？ | 資料類型 |   | 
| --- | --- | --- | --- | 
|  `bucket`  | 是 | String | 一般用途儲存貯體名稱。如需詳細資訊，請參閱[一般用途儲存貯體命名規則](bucketnamingrules.md)。 | 
|  `key`  | 是 | String | 物件金鑰名稱 (或金鑰)，可唯一識別儲存貯體中的物件。如需詳細資訊，請參閱[命名 Amazon S3 物件](object-keys.md)。 | 
|  `sequence_number`  | 是 | String |  序號，這是包含在指定物件記錄中的序數。若要排序相同儲存貯體和金鑰的記錄，您可以依 `sequence_number` 進行排序。對於指定的儲存貯體和金鑰，字母順序較大的 `sequence_number` 值表示記錄引進儲存貯體的時間較近。  | 
|  `version_id`  | 否 | String |  物件的版本 ID。當您對儲存貯體啟用版本控制時，Amazon S3 會將版本號碼指派給已新增至儲存貯體的物件。如需詳細資訊，請參閱[使用 S3 版本控制保留多個版本的物件](Versioning.md)。 在您設定版本控制狀態之前，儲存在儲存貯體中的物件版本 ID 為 null。  | 
|  `is_delete_marker`  | 否 | Boolean |  物件的刪除標記狀態。如果物件為刪除標記，則此值為 `True`。否則為 `False`。如需詳細資訊，請參閱[使用刪除標記](DeleteMarker.md)。  刪除標記的 `record_type` 值為 `DELETE` (而不是 `UPDATE_METADATA`) 時為其新增的列。如果因為 S3 生命週期過期而建立刪除標記，則 `requester` 值為 `s3.amazonaws.com`。   | 
|  `size`  | 否 | Long |  物件大小 (位元組)，不包括未完成的分段上傳或物件中繼資料大小。如果 `is_delete_marker` 為 `True`，則大小為 `0`。如需詳細資訊，請參閱[系統定義的物件中繼資料](UsingMetadata.md#SysMetadata)。  | 
|  `last_modified_date`  | 否 | 時間戳記 NTZ (無時區) |  物件建立日期或上次修改日期，以最近者為準。對於分段上傳，物件建立日期是指啟動分段上傳的日期。如需詳細資訊，請參閱[系統定義的物件中繼資料](UsingMetadata.md#SysMetadata)。  | 
|  `e_tag`  | 否 | String |  實體標籤 (ETag)，這是物件的雜湊值。ETag 只會反映物件內容的變更，而非其中繼資料的變更。ETag 可以是物件資料的 MD5 Digest。ETag 是否為 MD5 摘要取決於物件的建立方式和加密方式。如需詳細資訊，請參閱 *Amazon S3 API 參考*中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html)。  | 
|  `storage_class`  | 否 | String |  用於儲存物件的儲存類別。下列其中一項：`STANDARD`、`REDUCED_REDUNDANCY`、`STANDARD_IA`、`ONEZONE_IA`、`INTELLIGENT_TIERING`、`GLACIER`、`DEEP_ARCHIVE` 或 `GLACIER_IR`。如需詳細資訊，請參閱[了解和管理 Amazon S3 儲存類別](storage-class-intro.md)。  | 
|  `is_multipart`  | 否 | Boolean |  物件的上傳類型。如果物件是以分段上傳的方式上傳，則此值為 `True`。否則為 `False`。如需詳細資訊，請參閱[在 Amazon S3 中使用分段上傳來上傳和複製物件](mpuoverview.md)。  | 
|  `encryption_status`  | 否 | String |  物件的伺服器端加密狀態，視使用的加密金鑰類型而定：使用 Amazon S3 受管金鑰的伺服器端加密 (SSE-S3)、使用 AWS Key Management Service (AWS KMS) 金鑰的伺服器端加密 (SSE-KMS)、使用 AWS KMS keys 的雙層伺服器端加密 (DSSE-KMS)，或使用客戶提供金鑰的伺服器端加密 (SSE-C)。如果物件未加密，則此值為 null。可能的值包括 `SSE-S3`、`SSE-KMS`、`DSSE-KMS`、`SSE-C` 或 null。如需詳細資訊，請參閱[使用加密來保護資料](UsingEncryption.md)。  | 
|  `is_bucket_key_enabled`  | 否 | Boolean |  物件的 S3 儲存貯體金鑰啟用狀態。如果物件針對 SSE-KMS 使用 S3 儲存貯體金鑰，則此值為 `True`。否則為 `False`。如需詳細資訊，請參閱[在物件層級設定 S3 儲存貯體金鑰](configuring-bucket-key-object.md)。  | 
|  `kms_key_arn`  | 否 | String |  用來加密物件之 KMS 金鑰的 Amazon Resource Name (ARN)，適用於 `encryption_status` 為 `SSE-KMS` 或 `DSSE-KMS` 的列。如果物件未使用 SSE-KMS 或 DSSE-KMS 加密，則值為 null。如需詳細資訊，請參閱[搭配 AWS KMS 金鑰使用伺服器端加密 (SSE-KMS)](UsingKMSEncryption.md)及[使用雙層伺服器端加密搭配 AWS KMS 金鑰 (DSSE-KMS)](UsingDSSEncryption.md)。  如果列代表處理刪除或覆寫事件時不再存在的物件版本，`kms_key_arn` 會包含 null 值，即使 `encryption_status` 欄值為 `SSE-KMS` 或 `DSSE-KMS` 也一樣。   | 
|  `checksum_algorithm`  | 否 | String |  用來建立物件檢查總和的演算法，下列其中一項：`CRC64-NVME`、`CRC32`、`CRC32C`、`SHA1` 或 `SHA256`。如果不存在檢查總和，則此值為 null。如需詳細資訊，請參閱[使用支持的檢查總和演算法](checking-object-integrity-upload.md#using-additional-checksums)。  | 
|  `object_tags`  | 否 | Map <String, String> |  與物件相關聯的物件標籤。物件標籤會儲存為金鑰/值對的映射。如果物件沒有物件標籤，則會儲存空的映射 (`{}`)。如需詳細資訊，請參閱[使用標籤為物件分類](object-tagging.md)。  如果 `record_type` 值為 `DELETE`，則 `object_tags` 欄會包含 null 值。如果 `record_type` 值為 `CREATE` 或 `UPDATE_METADATA`，代表處理刪除或覆寫事件時不再存在之物件版本的列會在 `object_tags` 欄中包含 null 值。   | 
|  `user_metadata`  | 否 | Map <String, String> |  與物件相關聯的使用者中繼資料。使用者中繼資料會儲存為金鑰/值對的映射。如果物件沒有使用者中繼資料，則會儲存空的映射 (`{}`)。如需詳細資訊，請參閱[使用者定義的物件中繼資料](UsingMetadata.md#UserMetadata)。  如果 `record_type` 值為 `DELETE`，則 `user_metadata` 欄會包含 null 值。如果 `record_type` 值為 `CREATE` 或 `UPDATE_METADATA`，代表處理刪除或覆寫事件時不再存在之物件版本的列會在 `user_metadata` 欄中包含 null 值。   | 