使用以下代码行将 metadata1 设置为" myblob "斑点:
blob_service.set_blob_metadata(container_name="mycontainer",
blob_name="myblob",
x_ms_meta_name_values={'metadata1': '1111'})
,但是当我想在同一个blob上设置另一个元数据 metadata2 时,它删除最后编辑的元数据,即" metadata1&#34 ;。有错误还是我做错了什么?
blob_service.set_blob_metadata(container_name="mycontainer",
blob_name="myblob",
x_ms_meta_name_values={'metadata2': '2222'})
答案 0 :(得分:2)
这是预期的行为。从这里的文档:http://msdn.microsoft.com/en-us/library/azure/dd179414.aspx
可选。为blob设置名称 - 值对。
对此操作的每次调用都会替换附加到的所有现有元数据 斑点。要从blob中删除所有元数据,请调用此操作 没有元数据标题。
请注意,从版本2009-09-19开始,元数据名称必须为 遵守C#标识符的命名规则。
您需要做的是先获取现有元数据,进行更改,然后再次设置元数据。