Как быстро скопировать большие двоичные объекты Azure в PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как быстро скопировать большие двоичные объекты Azure в Python

Сообщение Anonymous »

Мне нужно скопировать около 1000 больших двоичных объектов за раз из одной учетной записи хранения в другую. Размер каждого большого двоичного объекта составляет примерно от 100 до 1000 МБ. Каждый большой двоичный объект переименовывается, поэтому я не могу массово копировать большие двоичные объекты с использованием общего префикса.
Я выбрал подход, заключающийся в использовании BlobClient.start_copy_from_url() для создания асинхронную операцию копирования для каждого большого двоичного объекта и дождитесь их завершения. Проблема в том, что копирование блоков таким образом занимает несколько часов. Похоже, что операции выполняются пакетами примерно по 6 операций за раз, что заставляет меня думать, что есть что-то, что препятствует параллельной обработке большего количества операций.
Для сравнения, для хранилища требуется около 5 минут. Explorer для копирования одних и тех же больших двоичных объектов между учетными записями хранения.
Как Storage Explorer так быстро копирует файлы и есть ли способ ускорить копирование больших двоичных объектов моим сценарием Python?
Мой код по сути похож на этот:
active_jobs=[]
for job in pending_jobs: # 1000 pending jobs
job.target=job.target_client.get_blob_client(job.target_path)
source=job.source_client.get_blob_client(job.source_path)
job.target.start_copy_from_url(source.url)
active_jobs.append(job)

while active_jobs:
for job in active_jobs:
status=job.target.get_blob_properties().copy.status
if status=="success":
job.done=True
print("Job done")
active_jobs=[job for job in active_jobs if not job.done]


Подробнее здесь: https://stackoverflow.com/questions/775 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Azure BlobClient: как перебирать все большие двоичные объекты в контейнере в хронологическом порядке (по времени записи)
    Гость » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Гость
  • SOONG: Как скопировать предварительно построенные двоичные файлы и библиотеки в систему
    Anonymous » » в форуме Android
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Двоичные объекты в StreamReceiver и универсальные типы
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • BlobContainerClient — получить все большие двоичные объекты в корне
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как быстро скопировать файлы
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»