我在讀this tutorial,但我無法找到一種方法來列出容器下的所有(虛擬)文件夾而無需獲取所有文件。我有500個(虛擬)文件夾中的26K文件。我只想獲取文件夾列表,而不必等待幾分鐘,以獲取包含整個文件列表的list_blobs
的輸出。有沒有辦法做到這一點?或者至少告訴list_blobs
不要比容器下面的n
更深?通過python API在azure blob存儲中列出虛擬文件夾
0
A
回答
1
您可以嘗試類似如下:
from azure.storage import BlobService
blob_service = BlobService(account_name='account-name', account_key='account-key')
bloblistingresult = blob_service.list_blobs(container_name='container-name', delimiter='/')
for i in bloblistingresult.prefixes:
print(i.name) #this will print the names of the virtual folders
SDK Source Code Reference: BlobService.list_blobs()
SKD Source Code Reference: BlobService.list_blobs().prefixes
0
@拉夫Mantri指出了正確的方式來獲得BlobPrefix元素的列表,我們可以利用它來創建一個函數來要求你的要求:
例如我有4個級別的目錄:
import azure
from azure.storage.blob import BlobService
blob_service = BlobService(account_name='<account_name>', account_key='<account_key>')
def getfolders(depth=1):
result = []
searched = []
delimiter = '/'
print depth
blob_list = blob_service.list_blobs('container-name',delimiter='/')
result.extend(str(l.name) for l in blob_list.prefixes)
#for l in blob_list.prefixes:
# result.extend(str(l.name))
depth -= 1
while (depth>0):
print 'result: \n'
print ','.join(str(p) for p in result)
print 'searched: \n'
print ','.join(p for p in searched)
for p in [item for item in result if item not in searched]:
print p +' in '+ str(depth)
searched.append(p)
blob_list = blob_service.list_blobs('vsdeploy',prefix=p,delimiter='/')
result.extend(str(l.name) for l in blob_list.prefixes)
depth -= 1
return result
blob_list = getfolders(4)
print ','.join(str(p) for p in blob_list)
相關問題
- 1. 將Azure虛擬機本地文件夾備份到blob存儲?
- 2. Azure Blob存儲列表Blob
- 3. 將文件從Azure Blob存儲複製到azure SUSE LINUX虛擬機
- 4. win32 api虛擬文件夾
- 5. 從Azure blob存儲中讀取文件
- 6. 通過azure python sdk重啓虛擬機
- 7. 您可以在GIT存儲庫中創建虛擬文件夾
- 8. 上傳存儲在Azure Blob存儲中的文件
- 9. 通過Azure存儲獲取JSON文件在HTML中通過Azure存儲
- 10. Azure Blob存儲蟒蛇API性能
- 11. 作爲Web角色虛擬目錄的Azure Blob存儲?
- 12. Azure blob存儲 - 虛擬目錄是否有子?
- 13. 將虛擬機物理路徑映射到azure blob存儲
- 14. Azure blob存儲;派生列
- 15. 迭代通過虛擬機在Azure中
- 16. 通過Azure Logic App從azure blob存儲中的目錄訪問文件
- 17. 無法通過Python中的azure存儲包訪問blob存儲WebJob
- 18. Azure存儲和Azure的虛擬機
- 19. 通過管理API訪問azure blob存儲的任何方式?
- 20. 將大文件從Azure虛擬機傳輸到Azure存儲
- 21. 爲什麼我的Azure blob存儲容器中存在重複的文件夾?
- 22. Azure blob存儲SAS
- 23. 將文件上傳到Azure Blob存儲
- 24. Azure Blob vs文件與磁盤存儲
- 25. FileUpload文件到Azure Blob存儲
- 26. Azure blob存儲 - blob策略
- 27. PHP在Azure:如何列出BLOB的「文件夾」
- 28. 刪除Azure Blob存儲容器內的文件夾
- 29. Azure blob存儲文件路徑限制
- 30. 將文件上傳到Azure Blob存儲