這個頁面說明如何列出 Cloud Storage 值區中的物件,物件會按照名稱的字母順序排序。
事前準備
如要取得列出物件所需的權限,請要求管理員為您授予值區的儲存空間物件檢視者 (roles/storage.objectViewer
) 身分與存取權管理角色,該值區包含您要列出的物件。
如果您打算使用 Google Cloud 控制台執行本頁面的工作,請要求管理員除了 Storage 物件檢視者 (roles/storage.objectViewer
) 角色外,也授予您檢視者 (roles/viewer
) 基本角色。
這些角色具備列出物件所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
storage.objects.list
storage.buckets.list
- 如要使用 Google Cloud 控制台執行這個頁面的工作,才需要這項權限。
如需授予值區角色的相關資訊,請參閱「搭配值區使用 IAM」。
列出值區中的物件
如要列出值區中的物件,請完成下列步驟:
控制台
- 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。
在值區清單中,按一下要查看內容的值區名稱。
選用:使用篩選和排序功能,限制並整理清單中的結果。
指令列
使用 gcloud storage ls
指令並加上 --recursive
旗標:
gcloud storage ls --recursive gs://BUCKET_NAME/**
其中:
BUCKET_NAME
是您要列出物件的值區名稱。例如:my-bucket
。
回應類似下列範例:
gs://my-bucket/cats.jpeg gs://my-bucket/dogs.jpeg gs://my-bucket/thesis.txt ...
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
C#
詳情請參閱 Cloud Storage C# API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
Go
詳情請參閱 Cloud Storage Go API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
Java
詳情請參閱 Cloud Storage Java API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
Node.js
詳情請參閱 Cloud Storage Node.js API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
PHP
詳情請參閱 Cloud Storage PHP API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
Python
詳情請參閱 Cloud Storage Python API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
Ruby
詳情請參閱 Cloud Storage Ruby API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。-
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o"
其中
BUCKET_NAME
是要列出物件的值區名稱。例如:my-bucket
。您可以使用
includeFoldersAsPrefixes=True
查詢參數,在清單結果中傳回受管理資料夾。使用includeFoldersAsPrefixes
參數時,delimiter
參數必須設為/
。
XML API
篩選物件
控制台
如要使用 Google Cloud 控制台依名稱前置字串篩選物件,請使用「Bucket details」(值區詳細資料) 頁面中的「Filter objects and folders」(篩選物件和資料夾) 欄位。
如要瞭解如何使用 Google Cloud 控制台進行其他篩選,請參閱篩選和排序。
指令列
使用 Google Cloud CLI 列出物件時,您可以運用萬用字元,篩選出開頭或結尾為特定前置字元/後置字元的物件。舉例來說,下列指令會比對開頭為 image
且結尾為 .png
的物件:
gcloud storage ls gs://my-bucket/image*.png
如要進一步瞭解如何使用 Google Cloud CLI 進行篩選,請參閱gcloud storage ls
說明文件。
REST API
JSON API
使用 Cloud Storage JSON API 列出物件時,可以透過 prefix
或 matchGlob
查詢字串參數篩選結果。如要瞭解如何使用這些查詢字串參數,請參閱物件清單 JSON API 參考說明文件。
依前置字串篩選
您可以使用 prefix=PREFIX
或查詢字串參數,將結果限制為具有指定前置字元的物件或受管理資料夾。舉例來說,如要列出前置字串為 folder/subfolder/
的值區 my-bucket
中所有物件,請使用網址 "https://storage.googleapis.com/storage/v1/b/my-bucket/o?prefix=folder/subfolder/"
提出物件列出要求。
如果您只有權限列出代管資料夾中的物件,但沒有整個值區的權限,使用 prefix
列出代管資料夾的內容就很有用。舉例來說,假設您擁有受管理資料夾 my-bucket/my-managed-folder-a/
的 Storage 物件檢視者 (roles/storage.objectViewer
) IAM 角色,但沒有受管理資料夾 my-bucket/my-managed-folder-b/
的角色。如要只傳回 my-managed-folder-a
中的物件,可以指定 prefix=my-managed-folder-a/
。
如要將結果限制在代管資料夾和其中的物件,請務必在 PREFIX
後方加上 /
(例如 prefix=my-managed-folder/
)。否則結果也可能包含代管資料夾附近的物件。在本範例中,您有一個包含下列物件的 bucket:
my-bucket/abc.txt
my-bucket/abc/object.txt
指定 prefix=abc/
可傳回物件 my-bucket/abc/object.txt
,指定 prefix=abc
則可傳回 my-bucket/abc.txt
和 my-bucket/abc/object.txt
。
依 glob 運算式篩選
您可以使用 matchGlob=GLOB_PATTERN
查詢字串參數,將結果篩選為只顯示符合特定 glob 運算式的物件。舉例來說,matchGlob=**.jpeg
可用於比對結尾為 .jpeg
的所有物件。
如果要求使用 matchGlob
參數,且包含設為 /
以外值的 delimiter
參數,就會失敗。
列出物件時的效能注意事項
與扁平命名空間值區相比,啟用階層命名空間的值區基礎結構可能會影響列出物件作業的效能。如要進一步瞭解如何最佳化效能,以便列出已啟用階層式命名空間的 bucket 中的物件,請參閱「列出物件」。
後續步驟
- 從您的值區下載物件。
- 查看及編輯物件中繼資料。
- 從值區刪除物件。
- 瞭解如何將結果分頁。