本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
以程式設計方式列出物件索引鍵
在 Amazon S3 中,索引鍵可以依字首列出。您可以為相關索引鍵名稱選擇共用字首,並使用特殊字元標示這些索引鍵,以劃分層次結構。然後,您可以使用清單操作,以階層方式選取和瀏覽索引鍵。類似於檔案存放在檔案系統目錄中的方式。
Amazon S3 提供清單操作,讓您可以列舉儲存貯體中所包含的金鑰。這些金鑰會依儲存貯體及字首選取列出。例如,假設有一個名為 "dictionary
" 的儲存貯體,其中包含一個代表所有英文文字的索引鍵。您可以進行呼叫,列出該儲存貯體中以字母 "q" 開頭的所有金鑰。列表結果始終以 UTF -8 二進制順序返回。
SOAP和REST清單作業都會傳回包含相符索引鍵名稱的XML文件,以及每個索引鍵所識別之物件的相關資訊。
注意
SOAP支持超過HTTP已棄用,但SOAP仍然可以使用HTTPS。不支援新的 Amazon S3 功能SOAP。建議您使用RESTAPI或SOAP,而不是使用 AWS SDKs.
皆為同一個字首並以特殊分隔符號結尾的金鑰群組,可依該共同字首彙總以方便列出。應用程式如此即可用階層方式組織及瀏覽其金鑰,就像是將檔案分組到檔案系統中不同的目錄一樣。
例如,若要展開 dictionary 儲存貯體以包含英文以外的文字時,可以在每個字前面加上其語言和分隔符號 (例如 "French/logical
") 來組成索引鍵。使用此命名配置和階層式清單功能,您就可以只擷取法文文字清單。您也可以瀏覽最上層的可用語言清單,而無須逐一查看詞典編纂的所有金鑰。如需列出清單方面的詳細資訊,請參閱「使用字首整理物件」。
REST API
如果您的應用程序需要它,您可以直接發送REST請求。您可以傳回值區中部分或全部物件的GET請求,或使用選取條件傳回值區中的物件子集。如需詳細資訊,請參閱 Amazon 簡單儲存服務API參考中的儲存GET貯體 (清單物件) 第 2 版。
清單實作效率
清單效能不會受儲存貯體中的索引鍵總數所影響。它也不會受到 prefix
、marker
、maxkeys
或 delimiter
引數的存在或不存在的影響。
逐一查看多頁結果
因為儲存貯體幾乎可以包含不限數目的金鑰,所以完整的清單查詢結果可能會相當龐大。為了管理大型結果集,Amazon S3 API 支援分頁將其分割為多個回應。每個列出金鑰回應最多會傳回含有 1,000 個金鑰的頁面,並指出回應是否遭到截斷。您會傳送一系列清單金鑰要求,直到您收到所有金鑰為止。 AWS SDK包裝庫提供相同的分頁。
範例
下列程式碼範例會示範如何使用ListObjects
。