Как перенести BLOB-объект из одной учетной записи хранения в другую учетную запись напрямую, не загружая сначала в память? - PullRequest
1 голос
/ 17 апреля 2020

Я хочу перенести большой двоичный объект из одной учетной записи хранения в другую учетную запись хранения в веб-API C# напрямую, не загружая сначала в память?

Я не хочу сначала платить за загрузку, а затем снова загружать ее в другую. Учетная запись хранения.

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

Ответы [ 2 ]

2 голосов
/ 17 апреля 2020

AzCopy - это то, что вы хотите большую часть времени. Он предназначен для выполнения именно того, что вам нужно, и может быть вызван через C#. Вот полный образец для копирования BLOB-объекта в другую учетную запись хранения с помощью C#.

. Вы используете SDK BlobStorage, как обычно, и в конце просто копируете BLOB-объекты следующим образом. :

await TransferManager.CopyAsync(sourceBlob, destinationBlob, true, null, context, cancellationSource.Token);

Полный исходный код: https://github.com/azure-samples/storage-dotnet-data-movement-library-app

1 голос
/ 17 апреля 2020

Добро пожаловать в StackOverflow.

Стоит отметить, что с вас взимается плата за пропускную способность только в том случае, если вы перемещаете данные за пределы региона Azure, если обе ваши учетные записи хранилища BLOB-объектов находятся в одном и том же регионе, что и вы. взимать плату за выход *.

Azure фабрика данных - это предписанный механизм Azure для перемещения данных, по умолчанию его механизм перемещения данных работает в регионе, ближайшем к месту назначения. Он имеет c# SDK для запуска перемещения данных. Это не бесплатно, но стоимость минимальна.

В качестве альтернативы можно использовать приложение Azure Logi c, в котором есть разъемы для учетных записей хранения, однако Azure Data Factory сделано для перемещения данных. По сути, любое предложение, работающее в пределах региона Azure, ограничит ваши выходные расходы.

Еще один весьма привлекательный вариант - это API-интерфейс хранилища new-i sh, который позволяет выполнять перекрестное копирование учетных записей на стороне сервера: https://azure.microsoft.com/en-us/updates/new-copy-apis-for-efficient-data-copy/ Я сам этим не воспользовался, так как обычно мне требуются более продвинутые функции Azure Фабрики данных, но это звучит довольно уместно для вас, чтобы узнать больше.

Это Всегда стоит доказывать любую операцию PAYG в качестве доказательства концепции и мониторинга затрат, прежде чем делать что-либо на производстве - чтобы избежать неожиданностей!

...