尝试查看数据时,Azure Android CloudAppendBlob会导致错误409(冲突)

时间:2015-11-07 00:51:39

标签: java android azure azure-storage-blobs

我目前正在测试我在此处找到的MS Azure存储API:github: azure-storage-android

我尝试了示例代码并且工作正常。假设CloudStorageAccountCloudBlobClientCloudBlobContainer的设置已经完成,如示例所示(也可以在同一个git仓库中找到)

以下代码正常运行:

CloudBlockBlob blockBlob = container.getBlockBlobReference("blockblob");
blockBlob.uploadText("foobar");

当我运行此代码并使用例如查看Blob容器时Azure Storage Explorer一切都很好。结果如下: azure success

现在的错误案例:

切换

container.getBlockBlobReference("...")

container.getAppendBlobReference("...")

并使用CloudAppendBlob代替CloudBlockBlob,如本片段所示:

CloudAppendBlob appendBlob = container.getAppendBlobReference("appendblob");
appendBlob.createOrReplace();
appendBlob.appendText("foobar");
每次我尝试读取容器数据时,

都会出现以下错误:

  

检索blob列表时出错:409 Conflict

azure error

有谁知道为什么会发生这种情况以及如何解决这个问题? 我尝试使用Leases,但它没有改变结果。

提前致谢!

1 个答案:

答案 0 :(得分:3)

正如Emily在评论中提到的,问题在于Azure Storage Explorer工具。最新版本的Storage API支持附加Blob,遗憾的是,该工具未更新以使用最新版本。

您可以使用支持最新版Storage API的其他工具,从而使用Blond Blob。我可以推荐的其中一些是:Cloud Portam [完全披露:我正在构建此工具],Cerebrata Azure ExplorerCerebrata Azure Management StudioClumsyLeaf CloudXplorer