gpt4 book ai didi

python - 如何使用Python检查Azure容器中是否存在文件夹?

转载 作者:行者123 更新时间:2023-12-03 01:27:20 25 4
gpt4 key购买 nike

我有一个存储容器,里面有 3 层目录,如下所示:

--Container
--Folder1
--Folder2
--Folder3
--blobs here

我需要检查Folder3 中是否存在任何 Blob ,或者更好的是检查Folder3 是否存在。我尝试使用
blob_exist = BlobClient.from_connection_string(conn_str = os.getenv("conString"),container_name="Container",blob_name="Folder1/Folder2/Folder3").exists()

无论文件夹是否存在,它总是返回False。谁能告诉我如何实现这一目标?
我知道 Blob 容器中不存在空文件夹,但我的意图是检查文件夹是否存在,然后继续其他业务逻辑。

最佳答案

无法直接检查 Blob 存储中是否存在文件夹。但您可以使用 list_blobs() 方法和 name_starts_with 参数。

例如:

from azure.storage.blob import BlobServiceClient

blob_service_client=BlobServiceClient.from_connection_string(connstr)
container_client = blob_service_client.get_container_client(container)
myblobs = container_client.list_blobs(name_starts_with="Folder1/Folder2/Folder3")

#define a list to store the blobs if exists
blob_list=[]

for s in myblobs:
blob_list.append(s)
#use break to make sure only one iteration to avoid iterating all the blobs
break

if len(blob_list) > 0:
print("yes")
else:
print("no")

关于python - 如何使用Python检查Azure容器中是否存在文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65075723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com