我目前正在测试我在此处找到的MS Azure存储API:github: azure-storage-android。
我尝试了示例代码并且工作正常。假设CloudStorageAccount
,CloudBlobClient
和CloudBlobContainer
的设置已经完成,如示例所示(也可以在同一个git仓库中找到)
以下代码正常运行:
CloudBlockBlob blockBlob = container.getBlockBlobReference("blockblob");
blockBlob.uploadText("foobar");
当我运行此代码并使用例如查看Blob容器时Azure Storage Explorer
一切都很好。结果如下:
现在的错误案例:
从
切换 container.getBlockBlobReference("...")
到
container.getAppendBlobReference("...")
并使用CloudAppendBlob
代替CloudBlockBlob
,如本片段所示:
CloudAppendBlob appendBlob = container.getAppendBlobReference("appendblob");
appendBlob.createOrReplace();
appendBlob.appendText("foobar");
每次我尝试读取容器数据时,都会出现以下错误:
检索blob列表时出错:409 Conflict
有谁知道为什么会发生这种情况以及如何解决这个问题?
我尝试使用Leases
,但它没有改变结果。
提前致谢!
答案 0 :(得分:3)
正如Emily在评论中提到的,问题在于Azure Storage Explorer工具。最新版本的Storage API支持附加Blob,遗憾的是,该工具未更新以使用最新版本。
您可以使用支持最新版Storage API的其他工具,从而使用Blond Blob。我可以推荐的其中一些是:Cloud Portam
[完全披露:我正在构建此工具],Cerebrata Azure Explorer
,Cerebrata Azure Management Studio
和ClumsyLeaf CloudXplorer
。