lou*_*jan 4 python client-library google-cloud-storage
在 google.cloud.storage 和 list_blobs 的帮助下,我可以从特定存储桶中获取文件列表。但我想从存储桶中过滤(名称*.ext)确切的文件。我无法找到确切的解决方案。
例如:buket=data,prefix_folder_name=sales,在前缀文件夹中,我有带有元数据的发票列表。我想获取特定的发票及其元数据(name*.csv & name.*.meta)。另外,如果我循环特定文件夹的整个 all_blob 来获取所选文件,那么这将是大量数据,并且可能会影响性能。
如果有人帮助我解决这个问题,那就太好了。
bucket = gcs_client.get_bucket(buket)
all_blobs = bucket.list_blobs(prefix=prefix_folder_name)
for blob in all_blobs:
print(blob.name)
Run Code Online (Sandbox Code Playgroud)
小智 5
根据google-cloud-storage 文档, Blob 是具有name属性的对象,因此您可以通过此属性过滤它们。
from google.cloud import storage
# storage_client = gcs client
storage_client = storage.Client()
# bucket_name = "your-bucket-name"
# Note: Client.list_blobs requires at least package version 1.17.0.
blobs = storage_client.list_blobs(bucket_name)
# filter_dir = "filter-string"
[blob.name for blob in blobs if filter_dir in blob.name ]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14752 次 |
| 最近记录: |