与Azure存储异步创建blob时出现异常 - UploadTextAsync

时间:2018-05-22 23:54:13

标签: c# azure azure-storage azure-storage-blobs blobstorage

在我们的项目中,我们使用的是Azure Storage 6.0.0版本,我们正在使用UploadTextAsync方法创建blob。更新到最新版本后,UploadTextAsync函数停止工作,现在它抛出异常:

  

"对象引用未设置为对象的实例。"

我尝试过不同的方法来替换它,但所有方法都抛出相同的异常。例如:

byte[] fileBytes = Encoding.UTF8.GetBytes(data);
await lockBlob.UploadFromByteArrayAsync(fileBytes, 0, fileBytes.Length);

我使其工作的唯一方法是更改​​为同步版本:

BlobRequestOptions blobOptions = new BlobRequestOptions
{
         MaximumExecutionTime = TimeSpan.FromSeconds(5),
};
lockBlob.UploadText(data, null, null, blobOptions, null);

如何使异步版本正常工作?有解决方法吗?我真的需要异步版本。

UploadText(async和sync)方法创建blob(如果它已经不存在),并覆盖它,如果它已经存在。

为什么它适用于同步版本而不是与更新的异步?

对于blob创建,这是代码:

var container= client.GetContainerReference("lockblobs");
await container.CreateIfNotExistsAsync();
var lockBlob = container.GetBlockBlobReference(data);

0 个答案:

没有答案