如何使用android更新已在azure容器中上传的文件

时间:2015-06-02 09:02:18

标签: android azure azure-storage

我创建了windows azure容器并上传了文本文件。现在我想在上传的文件中添加更多数据(而不是下载文件,更新和再次上传)。是否可以使用android?

更新已在azure上传的文件

提前致谢

2 个答案:

答案 0 :(得分:1)

如果您可以再等几天,那么名为Append Blob的新blob类型即将推出。 IMO,这种blob类型将是您的这一要求的理想选择。您可以在此处详细了解此即将推出的功能:http://blogs.msdn.com/b/windowsazurestorage/archive/2015/04/13/introducing-azure-storage-append-blob.aspx

你不能等到这个新的blob类型出来的时候,你也可以用块blob实现同样的效果(如果可以,我建议你等一下)。然而,这个过程相当复杂:

  1. 首先,你必须确保无论blob的大小是多少,它总是使用分块上传。块大小是否等于文本文件大小无关紧要,但上传应使用uploadBlockcommitBlockList机制完成。
  2. 接下来,当您准备好更新内容时,您将首先获取阻止列表(使用downloadBlockList)。然后,您将使用uploadBlock上传最新数据,然后调用commitBlockList,其中包含最新的块ID以及现有的块ID。

答案 1 :(得分:0)

如果您的应用程序上下文(android或任何消耗存储的客户端)具有需要完全覆盖现有blob文本的数据,则无需下载并更新,而是直接上传新文本或blob名称,将覆盖它。

否则,如果你想首先知道blob包含什么,然后根据某些条件对文本进行一些条件更新,那么你需要下载blob内容并更新它。

边缘情况 - 如果您的文字非常小,请尝试使用元数据属性来存储文本数据,这样设置和获取元数据详细信息就会更轻,而不是完全下载blob。