在我们的项目中,我们使用的是 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);
相关分类