@ Krumelur почти прав, но здесь я хочу привести пример рабочего кода, а также объяснить, что некоторые папки не могут быть загружены в хранилище BLOB-объектов Azure.
1. Пример кода:
from azure.storage.blob import BlockBlobService,PublicAccess
import os
def run_sample():
account_name = "your_account_name"
account_key ="your_account_key"
block_blob_service = BlockBlobService(account_name, account_key)
container_name ='test1'
path_remove = "F:\\"
local_path = "F:\\folderA"
for r,d,f in os.walk(local_path):
if f:
for file in f:
file_path_on_azure = os.path.join(r,file).replace(path_remove,"")
file_path_on_local = os.path.join(r,file)
block_blob_service.create_blob_from_path(container_name,file_path_on_azure,file_path_on_local)
# Main method.
if __name__ == '__main__':
run_sample()
2.Вы должны помнить, что ни одна пустая папка не может быть создана / загружена в хранилище BLOB-объектов Azure, поскольку в хранилище BLOB-объектов Azure нет настоящей «папки». Папка или каталог является лишь частью имени BLOB-объекта. Таким образом, без реального большого двоичного файла, такого как test.txt внутри папки, невозможно создать / загрузить пустую папку. Таким образом, в структуре папок пустые папки SUBFOLDERb и SUBFOLDERc не могут быть загружены в хранилище BLOB-объектов Azure.
Результат теста, как показано ниже, все непустые папки загружаются в хранилище BLOB-объектов в Azure: