2017-05-29 57 views
0

我正在使用谷歌雲存儲python API。我遇到了一種情況,我需要使用API​​刪除可能有數百個文件的文件夾。有沒有一種有效的方法來做到這一點,而無需進行遞歸和多重刪除調用?使用谷歌雲存儲刪除路徑前綴中的所有斑點API

我擁有的一個解決方案是列出具有給定路徑前綴的桶中的所有blob對象,並逐個刪除它們。

另一個解決方案是使用gsutil

$ gsutil會RM -R GS://桶/路徑

回答

1

嘗試是這樣的:

bucket = storage.Client().bucket(bucket_name) 
blobs = bucket.list_blobs() 
while True: 
    blob = blobs.next() 
    if not blob: break 
    if blob.name.startswith('/path'): blob.delete() 

如果你想刪除一個桶中的內容而不是一個桶中的文件夾,你可以在一個方法調用中這樣做:

bucket = storage.Client().bucket(bucket_name) 
bucket.delete_blobs(bucket.list_blobs())