2 回答

TA貢獻1810條經驗 獲得超4個贊
Cloud Storage 存儲桶中實際上并不存在文件夾。命名空間是扁平的。文件夾的印象由 Google Cloud Console 和其他工具模擬。文件/MyFolder/test.txt
和/YourFolder/test.txt
位于存儲桶(根級別)中的同一級別(同一目錄) - 我忽略對象名稱哈希。工具使用該/
字符作為分隔符(定界符)來模擬文件夾。
子目錄如何工作
使用 Google Cloud Storage REST API 時,通過使用 adelimeter=/
并指定目錄名稱的前綴來列出目錄,例如:
https://www.googleapis.com/storage/v1/b/MYBUCKETNAME/o?prefix=MyDirectory/?delimiter=/
此 URL 通知 REST API 您想要列出以MyDirectory/
中斷開頭并在下一個分隔符之后繼續的對象名稱,例如:
MyDirectory/file1.txt MyDirectory/file2.txt MyDirectory/something/file3.txt
MyDirectory
請注意,命名空間中沒有任何地方存儲對象名稱(目錄)MyDirectory/something
。這只是使用前綴和分隔符從對象名稱派生而來。
上面的 URL 將列出前兩個對象。第三個將被跳過。
API返回JSON數據,返回的數據有兩種類型:
items
,它返回以前綴開頭且后面prefix
不包含前綴的?對象名稱。delimiter
prefixes
,它返回被分隔符截斷的對象名稱 - 它提供了目錄名稱的等效項。
換句話說,目錄及其內容的幻象只是 Google Cloud Storage API 執行的一種奇特的解析技巧。

TA貢獻1845條經驗 獲得超8個贊
問題 1 的回答:只能通過云控制臺創建空文件夾。您無法通過 SDK 函數在 GCP 存儲桶中創建空文件夾。假設如果您想在存儲桶中創建/test
文件夾,請上傳名為/test/file.txt
. 確保您稍后在該/test
文件夾中上傳的文件不是file.txt
問題2的答案:除了路徑之外,與第一個問題幾乎相同
問題 3 的回答:可以使用額外的參數(例如 GCP SDK 提供的分隔符、前綴)來列出特定目錄中的項目。
- 2 回答
- 0 關注
- 140 瀏覽
添加回答
舉報