【问题标题】:For Azure Blob Storage .NET Client, what is the difference between "Microsoft.Azure.Storage.DataMovement" and "Azure.Storage.Blobs"?对于 Azure Blob Storage .NET 客户端,“Microsoft.Azure.Storage.DataMovement”和“Azure.Storage.Blobs”有什么区别?
【发布时间】:2020-09-25 02:10:21
【问题描述】:

所以我们开始在 ASP.NET Core 3.1 Web 应用程序中使用 Blob 存储,我注意到有两个 .NET Microsoft 库用于处理 Blob 存储上传和操作。

  1. Azure.Storage.Blobs Azure Storage Blobs client library for .NET:这是两个 repos 中更活跃的一个,提到了 in the docs
  2. Microsoft.Azure.Storage.DataMovement Microsoft Azure Storage Data Movement Library:它依赖于旧版本的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 并且在某些调用方面有所不同。

我想知道这两个库之间的区别是什么?

除了普通的Azure.Storage.Blobs 客户端之外,Microsoft.Azure.Storage.DataMovement 还提供哪些功能?

最后,如果将项目从 Azure.Storage.Blobs 切换到 Microsoft.Azure.Storage.DataMovement 可以提高 blob 上传的性能。

【问题讨论】:

    标签: c# azure asp.net-core azure-blob-storage azure-sdk-.net


    【解决方案1】:

    正如 GitHub 描述中所说,DataMovement 包主要代表您也可以使用命令行工具 AzCopy 执行的所有操作。

    此库基于支持 AzCopy 的核心数据移动框架。

    您可以在此处找到一些常见的 DataMovement 用例示例: https://docs.microsoft.com/en-us/azure/storage/common/storage-use-data-movement-library

    对我而言,最常见的用例是在 blob 存储帐户之间传输文件或将文件上传到帐户,而无需通过您的客户端进行传输。基本的Azure.Storage.Blobs 库不支持任何这些。还有更多功能,但这些是我的亮点。

    因此,在您的情况下,如果您的数据可以直接传输到存储帐户而不通过您的网络应用程序,它肯定可以提高上传速度。对于其他情况,它可能仍然比您当前正在执行的操作稍微快一些,但是根据给定的信息很难说。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      • 2017-09-28
      相关资源
      最近更新 更多