如何在 Data Fusion Studio 中使用 GCS Delete?

How can I use GCS Delete in Data Fusion Studio?

抱歉,如果这很简单,但我是 GCP 的初学者。

我创建了一个从存储桶中提取多个 CSV 的管道,整理它们然后将它们写入 BigQuery。我希望它删除文件来自的存储桶文件夹的内容。那么假设我使用 gs://bucket/Data/Country/*.CSV 提取了 CSV,我可以使用 GCS Delete 删除其中的所有 CSV 吗?

作为绝望的尝试 :D,在要删除的对象中,我指定了 gs://bucket/Data/Country/*.* 但这没有做任何事情。

根据 Google Cloud Storage Delete plugin documentation 有必要将每个对象用逗号分隔。

feature request 要求在使用此插件时允许后缀和前缀的可能性,您可以使用 +1 按钮并提供您对此的反馈功能可能会有用。

另一方面,我想到了一个可能适合您的解决方法。使用 GCS documentation 我创建了一个脚本来列出存储桶中的所有 csv 对象,您只需将输出复制并粘贴到 Objects to Delete 属性 的插件。重要的是要提到我对 100 个文件使用了此变通方法 more-less,我不确定是否可以使用更大数量的文件。


from google.cloud import storage
bucket_name="MY_BUCKET"
file_format="csv"

def list_csv(bucket_name):
    storage_client = storage.Client()
    blobs = storage_client.list_blobs(bucket_name)
    for blob in blobs:
        if file_format in blob.name:
            print("gs://"+ bucket_name + "/" + blob.name+",")
    return None

list_csv(bucket_name)