如何使用Python列出Azure云存储中特定子目录内的所有Blob?

亚伦

我研究了Azure文档https://docs.microsoft.com/zh-cn/azure/storage/blobs/storage-quickstart-blobs-python中的示例代码

from azure.storage.blob import BlockBlobService
account_name = "x"
account_key = "x"
top_level_container_name = "top_container"

blob_service = BlockBlobService(account_name, account_key)

print("\nList blobs in the container")
generator = blob_service.list_blobs(top_level_container_name)
for blob in generator:
    print("\t Blob name: " + blob.name)

现在,我想知道如何在集装箱行走中获得更多的细颗粒。我的容器top_level_container_name有几个子目录

  • top_level_container_name / dir1
  • top_level_container_name / dir2
  • 等那个模式

我希望能够列出这些目录之一中的所有Blob。例如

  • dir1 / a.jpg
  • dir1 / b.jpg
  • 等等

如何获得仅dir1内容的生成器,而不必遍历所有其他目录?(我也会带一个清单或字典)

我尝试将/ dir1添加到top_level_container_name的名称中,这样虽然可以,top_level_container_name = "top_container/dir1"但是没有用。我找回错误代码azure.common.AzureHttpError: The requested URI does not represent any resource on the server. ErrorCode: InvalidUri

该文档似乎甚至没有关于BlockBlobService.list_blobs()的任何信息https://docs.microsoft.com/zh-cn/python/api/azure.storage.blob.blockblobservice.blockblobservice?view=azure-python

更新:list_blobs()来自https://github.com/Azure/azure-storage-python/blob/ff51954d1b9d11cd7ecd19143c1c0652ef1239cb/azure-storage-blob/azure/storage/blob/baseblobservice.py#L1202

停止捐款

请尝试以下方法:

generator = blob_service.list_blobs(top_level_container_name, prefix="dir1/")

这应该列出dir1虚拟目录中的Blob和文件夹

如果要列出dir1虚拟目录中的所有Blob ,请尝试以下操作:

generator = blob_service.list_blobs(top_level_container_name, prefix="dir1/", delimiter="")

有关更多信息,请参见this link

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Azure 云存储中使用 python 遍历子目录中的所有 blob 名称?

如何在Azure Blob存储中列出子目录

列出特定子目录中的文件

如何通过 cURL 列出 Artifactory 上 Maven 存储库中的所有子目录?

如何列出所有子目录的目录大小?

使用 Python 按名称复制特定子目录

使用路径获取Java中的特定子目录

列出当前目录和所有子目录中特定大小的文件

如何使用通过FTP的骆驼路由将所有文件从目录(包括子目录)移动到特定目录,而目标中没有子目录?

如何在hadoop hdfs中列出目录及其子目录中的所有文件

如何列出Linux中的所有可执行文件(目录,子目录,$ PATH)?

如何列出MarkLogic数据库中的所有根目录和子目录?

如何在php中列出目录,子目录和所有文件

Python列出子目录中的所有文件,但排除某些目录

如何使用特定子目录中的通配符提取文件

列出子目录中的所有文件,按子目录名称排序

如何列出没有路径的子目录中的所有文件?

如何列出Zip存档中的所有* .doc文件,包括子目录中的文件?

获取容器内子目录中的所有blob

如何使用blobxfer从Azure Blob存储中下载子目录

如何使用python遍历Google Cloud Storage子目录中的所有文件名?

如何使用nodeJS列出所有子目录和文件?

如何搜索所有子目录以找到具有特定名称的子目录?

如何使用vim打开当前目录和所有子目录中的所有文件?

如何列出所有文件,但只能列出没有子目录的目录?

如何计算目录中存在的所有子目录?

如何从目录中删除所有子目录?

flake8 在特定子目录下的所有文件上

仅列出具有特定名称的所有目录的直接子目录