我有一个临时文件夹,我想在 gcp 存储桶中删除它我想删除它的所有内容,我想到的是我可以将此临时文件夹的路径作为前缀传递并列出其中的所有 blob 并删除每个blob,但我怀疑它会在不删除文件夹本身的情况下删除其中的 blob,对吗?目标是在 folder1/
没有临时文件夹的情况下找到空文件夹,但是当我尝试时发现意外行为,我发现包含此临时文件夹的文件夹已被删除!例如,如果我们有folder1/tempfolder/file1.csv
并且folder1/tempfolder/file2.csv
我发现在应用我的更改后删除了 folder1,那么应用的更改如下:
delete_folder_on_uri(storage_client,"gs://bucketname/folder1/tempfolder/")
def delete_folder_on_uri(storage_client, folder_gcs_uri):
bucket_uri = BucketUri(folder_gcs_uri)
delete_folder(storage_client, bucket_uri.name, bucket_uri.key)
def delete_folder(storage_client, bucket_name, folder):
bucket = storage_client.get_bucket(bucket_name)
blobs = bucket.list_blobs(prefix=folder)
for blob in blobs:
blob.delete()
PS:BucketUri
是一个类,其中bucket_uri.name
检索存储桶名称并bucket_uri.key
检索路径folder1/tempfolder/