Azure Rest API:PutBlockList - 将未提交的块提交给不同的blob?

时间:2013-02-18 21:34:12

标签: api rest azure

我正在尝试通过使用Azure Rest API(使用win 8应用程序)来尝试读取由另一个辅助角色写入的blob。这个其他日志记录工作者角色是将所有这些块“PUT”到blob,然后在一小时的顶部提交所有这些块,压缩它们然后开始一个新块。我不拥有这个记录器,并且想在不打扰任何东西的情况下尝试这样做。

以下是我正在做的事情:

  1. 从该blob文件中获取所有未提交的块的列表
  2. 将该列表提交给该blob,然后根据需要进行读取/转换
  3. 我当前的方法适用于我,但它会导致记录器出现问题,可能导致实例崩溃,并且在提交其blob时肯定会丢失数据。为了防止这种情况,我一直在尝试并且未能将这些未提交的块提交到另一个临时blob,然后从那里读取它。

    当我调用PutBlockList时,它始终返回400:无效阻止列表。使用我从未提交块获取的blob文件时,同样的确切调用成功。如果未提交的块列表为空,它也会成功执行temp blob 我试图复制blob,但它失败了404:BlobNotFound,因为它没有内容,直到blob被提交。
    我已经尝试了快照,但是文档声明它省略了未提交的块。还没有获取未提交块的实际数据的文档,而不仅仅是blockid。

    那么可以将blob的未提交块提交给不同的blob吗?

0 个答案:

没有答案