【问题标题】:upload huge numbers of files to blob将大量文件上传到 blob
【发布时间】:2012-08-26 01:35:40
【问题描述】:

您知道将过多文件上传到 Azure Blob 容器的最佳方法吗?

我目前正在将多个文件上传到 Azure blob 存储。文件的数量可能很大,例如 30,000 或更多(每个文件的大小可能为 10KB~1MB)。首先,我有一个文件位置列表,然后我会使用 Parallel.Foreach 上传文件。像这样的代码sn-p:

`列出位置=...

Parallel.Foreach(位置,位置=>
{
...
UploadFromStream(...);
...
});`
代码运行结果不一致。

有时运行良好,我可以看到上传到 Azure blob 容器的所有文件。

有时,我会遇到这样的异常:

服务器未能验证请求。确保 Authorization 标头的值包括签名正确形成。内部异常:远程服务器返回错误:(403)禁止

有时,我遇到超时异常。

我已经解决这个问题好几天了,不幸的是,我还没有一个完美的解决方案。所以我想知道当你处理类似的场景时你是怎么做的,当你上传太多的文件到 Azure Blob 存储时你是怎么做的?

【问题讨论】:

    标签: azure-blob-storage blobstorage


    【解决方案1】:

    最后,我没有发现我的代码有什么问题。

    但是,我找到了解决此问题的方法。我过期了 Parallel.Foreach,只使用常见的 foreach。然后我使用 BeginuploadFromStream 方法而不是 UploadFromStream,它实际上是异步上传文件。

    到目前为止,它运行完美,更稳定,没有任何异常发生。

    【讨论】:

      猜你喜欢
      • 2016-08-18
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 2017-03-14
      • 2018-10-27
      • 1970-01-01
      • 2021-11-08
      相关资源
      最近更新 更多