本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以使用 Amazon S3 庫存清單來協助您管理儲存。例如,您可以用它來稽核及回報物件的複寫與加密狀態,以滿足業務、合規及法規需求。您也可以使用 Amazon S3 庫存清單來簡化及加速商業工作流程與大數據任務,該庫存清單提供了 Amazon S3 同步 List
API 操作的排程替代方式。Amazon S3 庫存清單不會使用 List
API 操作來稽核您的物件,也不會影響儲存貯體的請求率。
Amazon S3 庫存清單提供的逗號分隔值 (CSV)、Apache 最佳化行列式 (ORC)
您可以為儲存貯體設定多份清查清單。當您設定庫存清單時,可以指定下列項目:
-
要包括在庫存清單中的物件中繼資料
-
要列出所有物件版本或是只列出目前版本
-
儲存庫存清單檔案輸出的位置
-
要每天或每週產生庫存清單
-
是否要加密庫存清單檔案
您可以使用 Amazon Athena、Amazon Redshift Spectrum、Amazon Redshift Spectrum,以及 Presto
注意
Amazon S3 最長可能需要 48 小時的時間才能提供第一份庫存清單報告。
來源與目的地儲存貯體
庫存清單列出其物件的儲存貯體稱為來源儲存貯體。而存放清查清單檔案的儲存貯體稱為目的地儲存貯體。
來源儲存貯體
清查會列出存放在來源儲存貯體中的物件。您可取得整個儲存貯體的庫存清單,或是依物件金鑰名稱字首篩選清單。
來源儲存貯體:
-
包含庫存清單中列出的物件
-
包含庫存清單的組態
Destination bucket (目標儲存貯體)
Amazon S3 清查清單檔案會寫入目的地儲存貯體。若要將所有庫存清單檔案集合在目的地儲存貯體中的共同位置,您可以在庫存清單組態中指定目的地字首。
目的地儲存貯體:
-
包含清查檔案清單。
-
包含的清單檔案會列出存放在目的地儲存貯體內之所有庫存清單檔案。如需詳細資訊,請參閱清查資訊清單。
-
必須有儲存貯體政策,才能對 Amazon S3 授予許可來驗證儲存貯體擁有權,以及授予許可將檔案寫入儲存貯體。
-
必須與來源儲存貯體位於相同的 AWS 區域 中。
-
可和來源儲存貯體相同。
-
可以由 AWS 帳戶 與擁有來源儲存貯體之帳戶不同的 所擁有。
Amazon S3 清查清單
清查清單檔案包含來源儲存貯體的物件清單,以及各物件的中繼資料。庫存清單檔案會以下列其中一種格式存放在目的地儲存貯體中:
使用 GZIP 壓縮的 CSV 檔案
使用 ZLIB 壓縮的 Apache 最佳化行列式 (ORC) 檔案
使用 Snappy 壓縮的 Apache Parquet 檔案
注意
不保證 Amazon S3 庫存清單報告中的物件會依任何順序進行排序。
庫存清單檔案包含來源儲存貯體中物件的清單,以及所列出的每個物件的中繼資料。
-
儲存貯體名稱 – 要清查的儲存貯體名稱。
-
金鑰名稱 – 物件金鑰名稱 (或稱金鑰),可唯一識別儲存貯體中的物件。若您使用 CSV 檔案格式,則金鑰名稱為 URL 編碼,且必須先解碼才能夠使用。
-
版本 ID – 物件版本 ID。當您對儲存貯體啟用版本控制時,Amazon S3 會將版本號碼指派給已新增至儲存貯體的物件。如需詳細資訊,請參閱使用 S3 版本控制保留多個版本的物件。(如果清單僅設定為物件的目前版本,則不包含此欄位。)
-
IsLatest – 如果物件是最新版本的物件,則設為
True
。(如果清單僅設定為物件的目前版本,則不包含此欄位。) -
刪除標記 – 如果物件是刪除標記,則設為
True
。如需詳細資訊,請參閱「使用 S3 版本控制保留多個版本的物件」。(若您尚未設定報告以納入所有您的物件版本,則此欄位將自動新增至您的報告)。 -
大小 - 物件大小 (以位元組為單位),不包括未完成的分段上傳、物件中繼資料和刪除標記的大小。
-
上次修改日期 – 物件建立日期或上次修改日期,以最近者為準。
-
ETag – 實體標籤 (ETag) 是物件的雜湊值。ETag 只會反映物件內容的變更,而非其中繼資料的變更。ETag 可以是物件資料的 MD5 Digest。取決於建立物件的方式,及其加密的方式。如需詳細資訊,請參閱 Amazon Simple Storage Service API 參考中的 Object。
-
儲存類別 - 用於存放物件的儲存類別。設定為
STANDARD
、REDUCED_REDUNDANCY
、STANDARD_IA
、ONEZONE_IA
、INTELLIGENT_TIERING
、GLACIER
、DEEP_ARCHIVE
、OUTPOSTS
、GLACIER_IR
或SNOW
。如需詳細資訊,請參閱了解和管理 Amazon S3 儲存類別。注意
S3 庫存清單不支援 S3 Express One Zone。
-
分段上傳標記 – 如果物件是使用分段上傳方式上傳,則設為
True
。如需詳細資訊,請參閱在 Amazon S3 中使用分段上傳來上傳和複製物件。 -
複寫狀態 - 設定為
PENDING
、COMPLETED
、FAILED
或REPLICA
。如需詳細資訊,請參閱取得複寫狀態資訊。 -
加密狀態 – 伺服器端加密狀態,取決於使用的加密金鑰類型:使用 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
狀態表示物件未以伺服器端加密進行加密。如需詳細資訊,請參閱「使用加密來保護資料」。 -
S3 物件鎖定保留截止日期 - 此日期之後才能刪除鎖定的物件。如需詳細資訊,請參閱使用物件鎖定來鎖定物件。
-
S3 物件鎖定保留模式 - 針對鎖定的物件設為
Governance
或Compliance
。如需詳細資訊,請參閱使用物件鎖定來鎖定物件。 -
S3 物件鎖定法務保存措施狀態 - 如果已將法務保存措施套用到物件,則設為
On
。否則會設為Off
。如需詳細資訊,請參閱使用物件鎖定來鎖定物件。 -
S3 Intelligent-Tiering 存取方案 - 物件的存取方案 (經常或不常) (如果儲存在 S3 Intelligent-Tiering 儲存類別中)。設定為
FREQUENT
、INFREQUENT
、ARCHIVE_INSTANT_ACCESS
、ARCHIVE
或DEEP_ARCHIVE
。如需詳細資訊,請參閱存取模式會變更或不明的自動最佳化資料的儲存體方案。 -
S3 儲存貯體金鑰狀態 - 設定為
ENABLED
或DISABLED
。指出物件是否針對 SSE-KMS 使用 S3 儲存貯體金鑰。如需詳細資訊,請參閱使用 Amazon S3 儲存貯體金鑰。 -
檢查總和演算法 - 指出用來為物件建立檢查總和的演算法。如需詳細資訊,請參閱使用支持的檢查總和演算法。
-
物件存取控制清單 – 每個物件的存取控制清單 (ACL),定義哪些 AWS 帳戶 或 群組獲授予此物件的存取權,以及獲授予的存取權類型。「物件 ACL」欄位是以 JSON 格式定義。S3 庫存報告包含與來源儲存貯體中的物件相關聯的 ACL,即使儲存貯體的 ACL 已停用也一樣。如需詳細資訊,請參閱 使用物件 ACL 欄位 和 存取控制清單 (ACL) 概觀。
注意
「物件 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 庫存。
-
物件擁有者 – 物件擁有者的正式使用者 ID。如需詳細資訊,請參閱《AWS 帳戶管理參考指南》中的尋找帳戶的正式使用者 ID。 AWS
注意
依據物件的生命週期組態,當物件的生命週期接近結尾時,Amazon S3 會將此物件排入佇列等待移除,並會以非同步方式進行移除物件。因此,過期日期與 Amazon S3 移除物件的日期之間,可能會有所延遲。清查報告包含已過期但尚未移除的物件。如需 S3 生命週期中過期動作的詳細資訊,請參閱 即將到期的物件。
以下是範例庫存報告,其中包含由四個記錄組成的額外中繼資料欄位。
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
建議建立刪除舊清查清單的生命週期政策。如需詳細資訊,請參閱管理物件的生命週期。
s3:PutInventoryConfiguration
許可允許使用者在設定庫存清單時選取先前針對每個物件列出的所有中繼資料欄位,並指定目的地儲存貯體來存放庫存。對目的地儲存貯體中的物件具有讀取權限的使用者可以存取庫存清單中所有可用的物件中繼資料欄位。若要限制庫存報告的存取,請參閱 授予 S3 清查與 S3 分析的許可。
清查一致性
所有物件可能不會出現在每份清查清單中。庫存清單為新物件與覆寫項目的 PUT
請求及 DELETE
請求提供了最終一致性。儲存貯體的每一份庫存清單都是儲存貯體項目的快照。這些清單最終會趨於一致 (也就是說,清單可能不包括最近新增或刪除的物件)。
若要先驗證物件狀態再對物件採取動作,建議您執行 HeadObject
REST API 請求,以擷取物件的中繼資料,或在 Amazon S3 主控台中檢查物件屬性。您也可以使用 AWS CLI 或 AWS SDKS 檢查物件中繼資料。如需詳細資訊,請參閱《Amazon Simple Storage Service API 參考》中的 HeadObject
。
如需有關使用 Amazon S3 清查的詳細資訊,請參閱下列主題。