java Azure Android CloudAppendBlob在尝试查看数据时导致错误409(冲突)
我目前正在测试我在这里找到的用于Android的MS Azure存储API:github: azure-storage-安卓
我尝试了示例代码,它运行良好。假设CloudStorageAccount
、CloudBlobClient
和CloudBlobContainer
的设置已经完成,如示例所示(也可以在相同的git repo中找到)
以下代码可以正常工作:
CloudBlockBlob blockBlob = container.getBlockBlobReference("blockblob");
blockBlob.uploadText("foobar");
当我运行这段代码并使用Azure Storage Explorer
查看Blob容器时,一切都很好。结果如下:
现在是错误案例:
从
container.getBlockBlobReference("...")
到
container.getAppendBlobReference("...")
并使用CloudAppendBlob
而不是本片段中所示的CloudBlockBlob
:
CloudAppendBlob appendBlob = container.getAppendBlobReference("appendblob");
appendBlob.createOrReplace();
appendBlob.appendText("foobar");
每次尝试读取容器数据时,都会出现以下错误:
Error retrieving blob list: 409 Conflict
有人知道为什么会发生这种情况以及如何解决吗?
我尝试使用Leases
,但结果没有改变
提前谢谢
# 1 楼答案
正如Emily在评论中提到的,问题在于Azure存储资源管理器工具。最新版本的存储API支持Append blob,不幸的是,该工具没有更新以使用最新版本
您可以使用支持最新版本存储API的其他工具,从而附加blob。我可以推荐的几个工具是:^{} [完全公开:我正在构建这个工具]、^{} 、^{} 和^{}