在Azure中的已归档blob上设置元数据

时间:2018-01-22 21:38:01

标签: azure azure-storage azure-storage-blobs

我想添加一个类型为" x-ms-meta-name的新标头:string-value"在一个存档的blob上(目前正在补水)。但是,“设置Blob属性”和“设置Blob元数据REST API”失败,并显示" HTTP状态码:409在存档的Blob"上不允许执行此操作。

有什么方法可以将元数据标题添加到存档中的blob中吗?

2 个答案:

答案 0 :(得分:2)

AFAIK,只要blob为Archived,blob上允许的操作非常少:

  • 您可以阅读blob的属性。
  • 您可以删除blob。
  • 您可以更改blob层(从存档更改为热门或冷却)。

现在回答您的问题,为了更改已归档blob的元数据,您需要将其层更改为Hot或Cool(即重新水化blob)。更改blob的层后,您可以更改元数据,然后再将blob的层更改为Archive。

请注意,补液blob是一项耗时的操作(可能需要几个小时)。不仅如此,还有一种补水惩罚(缺乏更好的词语)。

答案 1 :(得分:0)

虽然blob位于存档存储中,但它处于脱机状态且无法读取(元数据,在线且可用),复制,覆盖或修改。您也不能在存档存储中拍摄blob的快照。但是,您可以使用现有操作来删除,列出,获取blob属性/元数据或更改blob的层。

要读取存档存储中的数据,必须先将blob的层更改为热或冷。这个过程称为再水化,可能需要15个小时才能完成。 之后,您应该能够添加元数据。

可以找到更多信息here