有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我目前正在测试我在这里找到的用于Android的MS Azure存储API:github: azure-storage-安卓

我尝试了示例代码,它运行良好。假设CloudStorageAccountCloudBlobClientCloudBlobContainer的设置已经完成,如示例所示(也可以在相同的git repo中找到)

以下代码可以正常工作:

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

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

现在是错误案例:

container.getBlockBlobReference("...")

container.getAppendBlobReference("...")

并使用CloudAppendBlob而不是本片段中所示的CloudBlockBlob

CloudAppendBlob appendBlob = container.getAppendBlobReference("appendblob");
appendBlob.createOrReplace();
appendBlob.appendText("foobar");

每次尝试读取容器数据时,都会出现以下错误:

Error retrieving blob list: 409 Conflict

azure error

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

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    正如Emily在评论中提到的,问题在于Azure存储资源管理器工具。最新版本的存储API支持Append blob,不幸的是,该工具没有更新以使用最新版本

    您可以使用支持最新版本存储API的其他工具,从而附加blob。我可以推荐的几个工具是:^{}[完全公开:我正在构建这个工具]、^{}^{}^{}