Как удалить папку GCS из Python? - PullRequest
0 голосов
/ 06 ноября 2018

Используя https://github.com/googleapis/google-cloud-python/tree/master/storage или https://github.com/GoogleCloudPlatform/appengine-gcs-client, Я могу удалить файлы, указав их имя, но, похоже, нет способов удалить папки.

Есть ли способы удаления папок?

Я нашел это ( Облачное хранилище Google: как удалить папку (рекурсивно) в Python ) в stackvoerflow, но этот ответ просто удаляет все файлы в папке, а не саму папку.

Ответы [ 2 ]

0 голосов
/ 22 апреля 2019
from google.cloud import storage

def deleteStorageFolder(bucketName, folder):
    """
    This function deletes from GCP Storage

    :param bucketName: The bucket name in which the file is to be placed
    :param folder: Folder name to be deleted
    :return: returns nothing
    """
    cloudStorageClient = storage.Client()
    bucket = cloudStorageClient.bucket(bucketName)
    try:
        bucket.delete_blobs(blobs=bucket.list_blobs(prefix=folder))
    except Exception as e:
        print str(e.message)
0 голосов
/ 06 ноября 2018

Код, упомянутый в anwser , на который вы ссылаетесь, работает, префикс должен выглядеть следующим образом:

from google.cloud import storage

storage_client = storage.Client()
bucket = storage_client.get_bucket('my-bucket')

blobs = bucket.list_blobs(prefix='my-folder/')

for blob in blobs:
    blob.delete()
...