В чем разница между Microsoft.Azure.Storage.DataMovement и Azure.Storage.Blobs для .NET-клиента хранилища BLOB-объектов Azure?

Итак, мы начали использовать хранилище BLOB-объектов в нашем веб-приложении ASP.NET Core 3.1. Я заметил, что есть две библиотеки .NET Microsoft для обработки загрузки и операций хранилища BLOB-объектов.

  1. Azure.Storage.Blobs Клиентская библиотека BLOB-объектов хранилища Azure для .NET : Это наиболее активный из двух репозиториев, и он упоминается в документации.
  2. Microsoft.Azure.Storage.DataMovement Библиотека перемещения данных хранилища Microsoft Azure : Который зависит от более старой версии Azure.Storage.Blobs и имеет это расплывчатое описание The Microsoft Azure Storage Data Movement Library designed for high-performance uploading, downloading and copying Azure Storage Blob and File

Единственное заметное различие заключалось в том, что Microsoft.Azure.Storage.DataMovement поддерживает .NET 4.5.2 и некоторую разницу в некоторых вызовах.

Мне было интересно, в чем разница между этими двумя библиотеками?

Какие функции предоставляют Microsoft.Azure.Storage.DataMovement в дополнение к обычному Azure.Storage.Blobs клиенту?

И, наконец, переключение проекта с Azure.Storage.Blobs на Microsoft.Azure.Storage.DataMovement может улучшить производительность загрузки больших двоичных объектов.


person NvMat    schedule 05.06.2020    source источник


Ответы (1)


Как говорится в описании GitHub, пакет DataMovement в основном представляет все операции, которые вы также можете выполнять с помощью инструмента командной строки AzCopy.

Эта библиотека основана на базовой платформе перемещения данных, которая поддерживает AzCopy.

Вы можете найти несколько примеров распространенных вариантов использования DataMovement здесь: https://docs.microsoft.com/en-us/azure/storage/common/storage-use-data-библиотекадвижения

Наиболее распространенные варианты использования для меня - это передача файлов между учетными записями хранения BLOB-объектов или загрузка файлов в учетную запись без необходимости передавать их через клиента. Базовая библиотека Azure.Storage.Blobs не поддерживает ничего из этого. Есть еще функции, но это мои основные моменты.

Таким образом, в вашем случае это определенно может улучшить скорость загрузки, если ваши данные могут быть перенесены непосредственно в учетную запись хранения без использования вашего веб-приложения. В других случаях это может быть немного быстрее, чем то, что вы делаете сейчас, но с данной информацией трудно сказать.

person Alex AIT    schedule 05.06.2020