如何删除Firebase Storage中所有以“ foo”开头的文件

时间:2019-05-12 09:48:20

标签: firebase google-cloud-storage firebase-storage

我在Firebase Storage中有很长的文件列表,这些文件是我从python脚本上传的。 其中许多文件都具有这种名称:

foo_8346gr.msb
foo_8333ys.msb
foo_134as.mbb
...

我知道没有编程的方式可以删除存储中的文件夹(甚至不是文件夹),但是如何从python中以编程方式删除所有以“ foo_”开头的文件?

2 个答案:

答案 0 :(得分:1)

您可以使用Cloud Storage List API查找带有特定前缀的所有文件,然后将其删除。该页面具有适用于多种语言的代码示例,包括Python。这是列出带有前缀的文件的方式:

storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)

blobs = bucket.list_blobs(prefix=prefix, delimiter=delimiter)

print('Blobs:')
for blob in blobs:
    print(blob.name)

if delimiter:
    print('Prefixes:')
    for prefix in blobs.prefixes:
        print(prefix)

如果您认为应该删除文件,则必须添加一些删除文件的代码。该文档进一步介绍了List API。

答案 1 :(得分:0)

Firebase提供了有关Cloud Storage的包装,可让您直接从客户端访问存储中的文件,并确保对这些文件的访问安全。 Firebase没有提供用于访问这些文件的Python SDK,但是由于它是基于Google Cloud Storage构建的,因此您可以使用适用于Python的GCP SDK来实现。

其中没有API可以进行通配符删除,但是您可以简单地列出所有带有特定前缀的文件,然后将其一一删除。有关此示例,请在此处查看答案:How to delete GCS folder from Python?