這個頁面說明如何列出 Cloud Storage 值區中的物件,物件會按照名稱的字母順序排序。
事前準備
如要取得列出物件所需的權限,請要求管理員為您授予值區的儲存空間物件檢視者 (roles/storage.objectViewer
) 身分與存取權管理角色。如要列出代管資料夾中的物件,可以對包含要檢視物件的代管資料夾授予 roles/storage.objectViewer
,而不必對值區授予。
如果您打算使用 Trusted Cloud 控制台執行本頁面的工作,請要求管理員除了 Storage 物件檢視者 (roles/storage.objectViewer
) 角色外,也授予您檢視者 (roles/viewer
) 基本角色。
這些角色具備列出物件所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
storage.objects.list
storage.buckets.list
- 如要使用 Trusted Cloud 控制台執行這個頁面的工作,才需要這項權限。
如需授予值區角色的相關資訊,請參閱「搭配值區使用 IAM」。
列出值區中的物件
控制台
- 在 Trusted Cloud 控制台,前往「Cloud Storage bucket」頁面。
在值區清單中,按一下要查看內容的值區名稱。
指令列
使用 gcloud storage ls
指令:
gcloud storage ls gs://BUCKET_NAME
其中:
BUCKET_NAME
是包含要列出物件的值區名稱。例如:my-bucket
。
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
C#
詳情請參閱 Cloud Storage C# API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
Go
詳情請參閱 Cloud Storage Go API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
Java
詳情請參閱 Cloud Storage Java API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
Node.js
詳情請參閱 Cloud Storage Node.js API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
PHP
詳情請參閱 Cloud Storage PHP API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
Python
詳情請參閱 Cloud Storage Python API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
Ruby
詳情請參閱 Cloud Storage Ruby API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
下列範例會列出值區中所有的物件:
下列範例會列出具有指定前置字串的物件:
REST API
JSON API
XML API
列出資料夾中的物件
控制台
- 在 Trusted Cloud 控制台,前往「Cloud Storage bucket」頁面。
在值區清單中,按一下包含資料夾的值區名稱。
在「Bucket details」(值區詳細資料) 頁面的「Objects」(物件) 分頁中,按一下要查看內容的資料夾名稱。
指令列
使用 gcloud storage ls
指令列出資料夾中的物件:
gcloud storage ls gs://BUCKET_NAME/FOLDER_NAME
其中:
BUCKET_NAME
是包含資料夾的值區名稱。例如:my-bucket
。FOLDER_NAME
是包含要列出物件的資料夾名稱。例如:my-folder
。
REST API
JSON API
如要列出資料夾中的物件,請使用 list objects 要求,並搭配 prefix
和 delimiter
參數。設定 prefix
參數後,清單作業的範圍就會限定為只傳回前置字元下的物件和資料夾。設定 delimiter
參數後,回應中的 prefixes[]
清單會填入指定前置字元下的資料夾名稱。
例如:
如要列出 bucket
my-bucket
中資料夾image/
的所有物件,請使用下列網址:"https://storage.s3nsapis.fr/storage/v1/b/my-bucket/o?prefix=image&delimiter=/"
。這可能會傳回
my-bucket/image/cat.jpeg
和my-bucket/image/dog.jpeg
物件。如要在
image/
中納入子資料夾內的物件,請移除delimiter
參數:"https://storage.s3nsapis.fr/storage/v1/b/my-bucket/o?prefix=image"
。這可能會傳回
my-bucket/image/cat.jpeg
、my-bucket/image/dog.jpeg
和my-bucket/image/dog/shiba.jpeg
物件。
如要在列出物件要求中使用萬用字元,並依 glob 運算式比對物件,請使用 matchGlob
參數。舉例來說,matchGlob=**.jpeg
會比對所有以 .jpeg
結尾的物件。使用 matchGlob
時,必須將 delimiter
設為 /
。
舉例來說,如要比對資料夾 image
中所有以 .jpeg
結尾的物件,請使用下列網址:
"https://storage.s3nsapis.fr/storage/v1/b/my-bucket/o?prefix=image&delimiter=/&matchGlob=**.jpeg"
如要進一步瞭解如何使用參數篩選物件,請參閱「物件清單 JSON API 參考說明文件」。
用途
如果您只有列出資料夾中物件的權限,但沒有整個值區的權限,使用 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/
。
篩選物件
列出物件時,您可以在清單要求中使用前置字串或後置字串,依名稱篩選物件。
控制台
如要瞭解如何篩選及排序 bucket 或資料夾中的物件,請參閱篩選和排序。
指令列
您可以在 gcloud storage ls
指令中使用萬用字元,依前置字串或後置字串篩選物件。舉例來說,以下指令只會列出值區 my-bucket
中名稱開頭為 image
且結尾為 .png
的物件:
gcloud storage ls gs://my-bucket/image*.png
如果要求成功,回應會類似以下內容:
gs://my-bucket/image.png gs://my-bucket/image-dog.png gs://my-bucket/image-cat.png ...
您可以使用雙星萬用字元,比對路徑中零個以上的資料夾層級。舉例來說,下列指令只會列出值區 my-bucket
中任何資料夾或子資料夾內,名稱結尾為 .jpeg
的物件:
gcloud storage ls gs://my-bucket/**/*.jpeg
如果要求成功,回應會類似以下內容:
gs://my-bucket/puppy.jpeg gs://my-bucket/pug.jpeg gs://my-bucket/pets/dog.jpeg ...
REST API
如要瞭解如何依資料夾或物件名稱前置字串篩選物件,請參閱列出資料夾中的物件。
列出物件時的效能注意事項
與平面命名空間值區相比,啟用階層式命名空間的值區底層結構會影響列出物件作業的效能。詳情請參閱「在啟用階層式命名空間的 bucket 中提升效能」。
後續步驟
- 從您的值區下載物件。
- 查看及編輯物件中繼資料。
- 從值區刪除物件。
- 瞭解如何將結果分頁。