Reputation: 1795
So we started using blob storage in our ASP.NET Core 3.1 web app, I noticed that there are two .NET Microsoft libraries for handling blob storage uploads and operations.
Azure.Storage.Blobs
Azure Storage Blobs client library for .NET: This is the more active of two repos and it is mentioned in the docs.Microsoft.Azure.Storage.DataMovement
Microsoft Azure Storage Data Movement Library: Which has a dependency on the older version of Azure.Storage.Blobs
and have this vague description The Microsoft Azure Storage Data Movement Library designed for high-performance uploading, downloading and copying Azure Storage Blob and File
The only noticeable difference was that Microsoft.Azure.Storage.DataMovement
supports .NET 4.5.2 and some difference in some of the calls.
I was wondering what the difference between these two libraries is?
What are the functionality that Microsoft.Azure.Storage.DataMovement
provide in addition to the normal Azure.Storage.Blobs
client?
And at last if switching the project from Azure.Storage.Blobs
to Microsoft.Azure.Storage.DataMovement
can improve the performance of blob uploads.
Upvotes: 1
Views: 1631
Reputation: 18526
As it says in the GitHub description, the DataMovement
package mostly represents all operations which you can also do with the command line tool AzCopy.
This library is based on the core data movement framework that powers AzCopy.
You can find some examples of common DataMovement use cases here: https://learn.microsoft.com/en-us/azure/storage/common/storage-use-data-movement-library
The most common use cases for me are transferring files between blob storage accounts or uploading files to an account without having to transfer them through your client. The base Azure.Storage.Blobs
library does not support any of that. There are more features, but those are my highlights.
So in your case, it can definitely improve the upload speed if your data can be transferred directly to the storage account without going through your web app. For other cases, it might still be slightly faster than whatever you are currently doing, but it is hard to say with the given information.
Upvotes: 2