猿问

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

在我们的项目中,我们使用的是 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(异步和同步)方法在 blob 不存在时创建它,如果存在则覆盖它。


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


对于 blob 创建,这是代码:


var container= client.GetContainerReference("lockblobs");

await container.CreateIfNotExistsAsync();

var lockBlob = container.GetBlockBlobReference(data);


qq_花开花谢_0
浏览 138回答 1
1回答
随时随地看视频慕课网APP
我要回答