

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

# 使用 S3 庫存清單編目和分析資料
<a name="storage-inventory"></a>

您可以使用 Amazon S3 庫存清單來協助您管理儲存。例如，您可以用它來稽核及回報物件的複寫與加密狀態，以滿足業務、合規及法規需求。您也可以使用 Amazon S3 庫存清單來簡化及加速商業工作流程與大數據任務，該庫存清單提供了 Amazon S3 同步 `List` API 操作的排程替代方式。Amazon S3 庫存清單不會使用 `List` API 操作來稽核您的物件，也不會影響儲存貯體的請求率。

Amazon S3 庫存清單提供的逗號分隔值 (CSV)、[Apache 最佳化行列式 (ORC)](https://orc.apache.org/)，或 [https://parquet.apache.org/](https://parquet.apache.org/) 輸出檔，每天或每週為 S3 儲存貯體或共用字首的物件 (也就是名稱開頭為共同字串的物件) 列出物件及其相對應的中繼資料。若您設定每週列出庫存清單，則會在初次報告後，於每個星期日 (UTC 時區) 產生一份報告。如需有關 Amazon S3 清查定價的資訊，請參閱 [Amazon S3 定價](https://aws.amazon.com/s3/pricing/)。

您可以為儲存貯體設定多份清查清單。當您設定庫存清單時，可以指定下列項目：
+ 要包括在庫存清單中的物件中繼資料
+ 要列出所有物件版本或是只列出目前版本
+ 儲存庫存清單檔案輸出的位置
+ 要每天或每週產生庫存清單
+ 是否要加密庫存清單檔案

您可以使用 [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html)、Amazon Redshift Spectrum、[Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum.html)，以及 [https://prestodb.io/](https://prestodb.io/)、[https://hive.apache.org/](https://hive.apache.org/) 和 [https://databricks.com/spark/about/](https://databricks.com/spark/about/) 等其他工具，利用標準 SQL 來查詢 Amazon S3 庫存清單。如需使用 Athena 查詢庫存清單檔案的詳細資訊，請參閱 [使用 Amazon Athena 查詢 Amazon S3 庫存](storage-inventory-athena-query.md)。

**注意**  
Amazon S3 最長可能需要 48 小時的時間才能提供第一份庫存清單報告。

**注意**  
刪除庫存組態之後，Amazon S3 可能會在系統處理刪除的短暫轉換期間，提供一份額外的庫存報告。

## 來源與目的地儲存貯體
<a name="storage-inventory-buckets"></a>

庫存清單列出其物件的儲存貯體稱為*來源儲存貯體*。而存放清查清單檔案的儲存貯體稱為*目的地儲存貯體*。

**來源儲存貯體**

清查會列出存放在來源儲存貯體中的物件。您可取得整個儲存貯體的庫存清單，或是依物件金鑰名稱字首篩選清單。

來源儲存貯體：
+ 包含庫存清單中列出的物件
+ 包含庫存清單的組態

**Destination bucket** (目標儲存貯體)

Amazon S3 清查清單檔案會寫入目的地儲存貯體。若要將所有庫存清單檔案集合在目的地儲存貯體中的共同位置，您可以在庫存清單組態中指定目的地字首。

目的地儲存貯體：
+ 包含清查檔案清單。
+ 包含的清單檔案會列出存放在目的地儲存貯體內之所有庫存清單檔案。如需詳細資訊，請參閱[清查資訊清單](storage-inventory-location.md#storage-inventory-location-manifest)。
+ 必須有儲存貯體政策，才能對 Amazon S3 授予許可來驗證儲存貯體擁有權，以及授予許可將檔案寫入儲存貯體。
+ 必須與來源儲存貯體位於相同的 AWS 區域 中。
+ 可和來源儲存貯體相同。
+ 可以由與擁有來源儲存貯體之帳戶 AWS 帳戶 不同的 所擁有。

## Amazon S3 清查清單
<a name="storage-inventory-contents"></a>

清查清單檔案包含來源儲存貯體的物件清單，以及各物件的中繼資料。庫存清單檔案會以下列其中一種格式存放在目的地儲存貯體中：
+ 使用 GZIP 壓縮的 CSV 檔案
+ 使用 ZLIB 壓縮的 Apache 最佳化行列式 (ORC) 檔案
+ 使用 Snappy 壓縮的 Apache Parquet 檔案

**注意**  
不保證 Amazon S3 庫存清單報告中的物件會依任何順序進行排序。

庫存資訊清單檔案包含來源儲存貯體中物件的清單，以及所列出的每個物件的中繼資料。一律包含這些預設欄位：
+ **儲存貯體名稱** – 要清查的儲存貯體名稱。
+ **ETag** – 實體標籤 (ETag) 是物件的雜湊值。ETag 只會反映物件內容的變更，而非其中繼資料的變更。ETag 可以是物件資料的 MD5 Digest。取決於建立物件的方式，及其加密的方式。如需詳細資訊，請參閱 Amazon Simple Storage Service API 參考**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html)。
+ **金鑰名稱** – 物件金鑰名稱 (或稱金鑰)，可唯一識別儲存貯體中的物件。若您使用 CSV 檔案格式，則金鑰名稱為 URL 編碼，且必須先解碼才能夠使用。
+ **上次修改日期** – 物件建立日期或上次修改日期，以最近者為準。
+ **大小** - 物件大小 (以位元組為單位)，不包括未完成的分段上傳、物件中繼資料和刪除標記的大小。
+ **儲存類別** - 用於存放物件的儲存類別。設定為 `STANDARD`、`REDUCED_REDUNDANCY`、`STANDARD_IA`、`ONEZONE_IA`、`INTELLIGENT_TIERING`、`GLACIER`、`DEEP_ARCHIVE`、`OUTPOSTS``GLACIER_IR`、`SNOW`、 或 `EXPRESS_ONEZONE`。如需詳細資訊，請參閱[了解和管理 Amazon S3 儲存類別](storage-class-intro.md)。

您可以選擇在報告中包含下列其他中繼資料欄位：
+ **檢查總和演算法** - 指出用來為物件建立檢查總和的演算法。如需詳細資訊，請參閱[使用支持的檢查總和演算法](checking-object-integrity-upload.md#using-additional-checksums)。
+ **加密狀態** – 伺服器端加密狀態，視使用的加密金鑰類型而定：使用 Amazon S3 受管金鑰 (SSE-S3) 進行伺服器端加密、使用 AWS Key Management Service (AWS KMS) 金鑰進行伺服器端加密 (SSE-KMS)、使用 AWS KMS 金鑰進行雙層伺服器端加密 (DSSE-KMS)，或使用客戶提供的金鑰進行伺服器端加密 (SSE-C)。設定為 `SSE-S3`、`SSE-KMS`、`DSSE-KMS`、`SSE-C` 或 `NOT-SSE`。`NOT-SSE` 狀態表示物件未以伺服器端加密進行加密。如需詳細資訊，請參閱[使用加密來保護資料](UsingEncryption.md)。
+ **S3 Intelligent-Tiering 存取方案** - 物件的存取方案 (經常或不常) (如果儲存在 S3 Intelligent-Tiering 儲存類別中)。設定為 `FREQUENT`、`INFREQUENT`、`ARCHIVE_INSTANT_ACCESS`、`ARCHIVE` 或 `DEEP_ARCHIVE`。如需詳細資訊，請參閱[存取模式會變更或不明的自動最佳化資料的儲存體方案](storage-class-intro.md#sc-dynamic-data-access)。
+ **S3 物件鎖定保留截止日期** - 此日期之後才能刪除鎖定的物件。如需詳細資訊，請參閱[使用物件鎖定來鎖定物件](object-lock.md)。
+ **S3 物件鎖定保留模式** - 針對鎖定的物件設為 `Governance` 或 `Compliance`。如需詳細資訊，請參閱[使用物件鎖定來鎖定物件](object-lock.md)。
+ **S3 物件鎖定法務保存措施狀態** - 如果已將法務保存措施套用到物件，則設為 `On`。否則會設為 `Off`。如需詳細資訊，請參閱[使用物件鎖定來鎖定物件](object-lock.md)。
+ **版本 ID** – 物件版本 ID。當您對儲存貯體啟用版本控制時，Amazon S3 會將版本號碼指派給已新增至儲存貯體的物件。如需詳細資訊，請參閱[使用 S3 版本控制保留多個版本的物件](Versioning.md)。(如果清單僅設定為物件的目前版本，則不包含此欄位。)
+ **IsLatest** – 如果物件是最新版本的物件，則設為 `True`。(如果清單僅設定為物件的目前版本，則不包含此欄位。)
+ **刪除標記** – 如果物件是刪除標記，則設為 `True`。如需詳細資訊，請參閱「[使用 S3 版本控制保留多個版本的物件](Versioning.md)」。(若您尚未設定報告以納入所有您的物件版本，則此欄位將自動新增至您的報告)。
+ **分段上傳標記** – 如果物件是使用分段上傳方式上傳，則設為 `True`。如需詳細資訊，請參閱[在 Amazon S3 中使用分段上傳來上傳和複製物件](mpuoverview.md)。
+ **物件擁有者** – 物件擁有者的正式使用者 ID。如需詳細資訊，請參閱[AWS 《帳戶管理參考指南》中的尋找帳戶的正式使用者 ID](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId)。 *AWS *
+ **複寫狀態** - 設定為 `PENDING`、`COMPLETED`、`FAILED` 或 `REPLICA`。如需詳細資訊，請參閱[取得複寫狀態資訊](replication-status.md)。
+ **S3 儲存貯體金鑰狀態** - 設定為 `ENABLED` 或 `DISABLED`。指出物件是否針對 SSE-KMS 使用 S3 儲存貯體金鑰。如需詳細資訊，請參閱[使用 Amazon S3 儲存貯體金鑰](bucket-key.md)。
+ **物件存取控制清單** – 每個物件的存取控制清單 (ACL)，定義哪些 AWS 帳戶 或 群組獲授予此物件的存取權，以及獲授予的存取權類型。「物件 ACL」欄位是以 JSON 格式定義。S3 庫存報告包含與來源儲存貯體中的物件相關聯的 ACL，即使儲存貯體的 ACL 已停用也一樣。如需詳細資訊，請參閱[使用物件 ACL 欄位](objectacl.md)及[存取控制清單 (ACL) 概觀](acl-overview.md)。
**注意**  
「物件 ACL」欄位是以 JSON 格式定義。庫存清單報告會以 base64 編碼字串顯示「物件 ACL」欄位的值。  
例如，假設您有下列 JSON 格式的「物件 ACL」欄位：  

  ```
  {
          "version": "2022-11-10",
          "status": "AVAILABLE",
          "grants": [{
              "canonicalId": "example-canonical-user-ID",
              "type": "CanonicalUser",
              "permission": "READ"
          }]
  }
  ```
「物件 ACL」欄位會經過編碼，並顯示為下列 base64 編碼字串：  

  ```
  eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=
  ```
若要取得「物件 ACL」欄位的 JSON 解碼值，您可以在 Amazon Athena 中查詢此欄位。如需查詢範例，請參閱 [使用 Amazon Athena 查詢 Amazon S3 庫存](storage-inventory-athena-query.md)。
+ **生命週期過期日期** – 設定為物件的生命週期過期時間戳記。只有在適用的生命週期規則使物件過期時，才會填入此欄位。在其他情況下， 欄位將為空。具有`FAILED`複寫狀態的物件不會填入過期日期，因為 S3 生命週期會阻止這些物件的過期和轉換動作，直到複寫成功為止。如需詳細資訊，請參閱[即將到期的物件](lifecycle-expire-general-considerations.md)。

**注意**  
依據物件的生命週期組態，當物件的生命週期接近結尾時，Amazon S3 會將此物件排入佇列等待移除，並會以非同步方式進行移除物件。因此，過期日期與 Amazon S3 移除物件的日期之間，可能會有所延遲。清查報告包含已過期但尚未移除的物件。如需 S3 生命週期中過期動作的詳細資訊，請參閱 [即將到期的物件](lifecycle-expire-general-considerations.md)。

以下是範例庫存報告，其中包含由四個記錄組成的額外中繼資料欄位。

```
amzn-s3-demo-bucket1    example-object-1    EXAMPLEDC8l.XJCENlF7LePaNIIvs001    TRUE        1500    2024-08-15T15:28:26.0004    EXAMPLE21e1518b92f3d92773570f600    STANDARD    FALSE    COMPLETED    SSE-KMS    2025-01-25T15:28:26.000Z    COMPLIANCE    Off        ENABLED        eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7000
amzn-s3-demo-bucket1    example-object-2    EXAMPLEDC8l.XJCENlF7LePaNIIvs002    TRUE        200    2024-08-21T15:28:26.000Z    EXAMPLE21e1518b92f3d92773570f601    INTELLIGENT_TIERING    FALSE    COMPLETED    SSE-KMS    2025-01-25T15:28:26.000Z    COMPLIANCE    Off    INFREQUENT    ENABLED    SHA-256    eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7001
amzn-s3-demo-bucket1    example-object-3    EXAMPLEDC8l.XJCENlF7LePaNIIvs003    TRUE        12500    2023-01-15T15:28:30.000Z    EXAMPLE21e1518b92f3d92773570f602    STANDARD    FALSE    REPLICA    SSE-KMS    2025-01-25T15:28:26.000Z    GOVERNANCE    On        ENABLED        eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7002
amzn-s3-demo-bucket1    example-object-4    EXAMPLEDC8l.XJCENlF7LePaNIIvs004    TRUE        100    2021-02-15T15:28:27.000Z    EXAMPLE21e1518b92f3d92773570f603    STANDARD    FALSE    COMPLETED    SSE-KMS    2025-01-25T15:28:26.000Z    COMPLIANCE    Off        ENABLED        eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3sicGVybWlzc2lvbiI6IkZVTExfQ09OVFJPTCIsInR5cGUiOiJDYW5vbmljYWxVc2VyIiwiY2Fub25pY2FsSWQiOiJFWEFNUExFNzY2ZThmNmIxMTVkOTNkNDFkZjJlYWM0MjBhYTRhNDY1ZDE3N2MxMzk4YmM2YTA4OGM3NmI3MDAwIn1dfQ==    EXAMPLE766e8f6b115d93d41df2eac420aa4a465d177c1398bc6a088c76b7003
```

建議建立刪除舊清查清單的生命週期政策。如需詳細資訊，請參閱[管理物件的生命週期](object-lifecycle-mgmt.md)。

`s3:PutInventoryConfiguration` 許可允許使用者在設定庫存清單時選取先前針對每個物件列出的所有中繼資料欄位，並指定目的地儲存貯體來存放庫存。對目的地儲存貯體中的物件具有讀取權限的使用者可以存取庫存清單中所有可用的物件中繼資料欄位。若要限制庫存報告的存取，請參閱 [授予 S3 清查與 S3 分析的許可](example-bucket-policies.md#example-bucket-policies-s3-inventory-1)。

### 清查一致性
<a name="storage-inventory-contents-consistency"></a>

所有物件可能不會出現在每份清查清單中。庫存清單為新物件與覆寫項目的 `PUT` 請求及 `DELETE` 請求提供了最終一致性。儲存貯體的每一份庫存清單都是儲存貯體項目的快照。這些清單最終會趨於一致 (也就是說，清單可能不包括最近新增或刪除的物件)。

若要先驗證物件狀態再對物件採取動作，建議您執行 `HeadObject` REST API 請求，以擷取物件的中繼資料，或在 Amazon S3 主控台中檢查物件屬性。您也可以使用 AWS CLI 或 AWS SDKS 檢查物件中繼資料。如需詳細資訊，請參閱《Amazon Simple Storage Service API 參考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html)。

如需有關使用 Amazon S3 清查的詳細資訊，請參閱下列主題。

**Topics**
+ [來源與目的地儲存貯體](#storage-inventory-buckets)
+ [Amazon S3 清查清單](#storage-inventory-contents)
+ [設定 Amazon S3 清查](configure-inventory.md)
+ [尋找您的清查清單](storage-inventory-location.md)
+ [設定清查完成的 Amazon S3 事件通知](storage-inventory-notification.md)
+ [使用 Amazon Athena 查詢 Amazon S3 庫存](storage-inventory-athena-query.md)
+ [將 Amazon S3 庫存報告中的空白版本 ID 字串轉換為空字串](inventory-configure-bops.md)
+ [使用物件 ACL 欄位](objectacl.md)