Загрузка нескольких файлов из папки в хранилище BLOB-объектов Azure с помощью Azure Storage SDK для Python - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть несколько изображений в локальной папке на моем компьютере с Windows.Я хочу загрузить все изображения в один и тот же BLOB-объект в одном контейнере.

Я знаю, как загрузить один файл с Azure Storage SDK BlockBlobService.create_blob_from_path(), но я не вижу возможностидля одновременной загрузки всех изображений в папку.

Тем не менее, Azure Storage Explorer предоставляет функциональность для этого, поэтому это должно быть как-то возможно.

Есть лифункция, предоставляющая эту услугу, или мне нужно перебрать все файлы в папке и запустить create_blob_from_path() несколько раз для одного и того же большого двоичного объекта?

1 Ответ

0 голосов
/ 12 ноября 2018

Нет прямого способа сделать это. Для получения подробной информации вы можете пройти через Azure Storage Python SDK blockblobservice.py и baseblobservice.py .

Как вы упомянули, вы должны зацикливаться на этом. Пример кода, как показано ниже:

from azure.storage.blob import BlockBlobService, PublicAccess
import os

def run_sample():
    block_blob_service = BlockBlobService(account_name='your_account', account_key='your_key')
    container_name ='t1s'

    local_path = "D:\\Test\\test"

    for files in os.listdir(local_path):
        block_blob_service.create_blob_from_path(container_name,files,os.path.join(local_path,files))


# Main method.
if __name__ == '__main__':
    run_sample()

Файлы в локальной сети: enter image description here

После выполнения кода они загружаются в Azure: enter image description here

...