几个小时以来,我一直在尝试在使用 Azure SDK 创建的 blob 上设置一些元数据。我使用异步上传数据BeginUploadFromStream()
,一切顺利。上传完成后,我可以使用它的 URI 访问 blob,因此它已成功创建,但是我设置的任何元数据都不会持久化。
我在调用后EndUploadFromStream()
设置了元数据。
我尝试通过文档可以找到的三种方式设置元数据:
// First attempt
myBlob.Metadata["foo"] = "bar";
// Second attempt
myBlob.Metadata.Add("foo", "bar");
//Third attempt
var metadata = new NameValueCollection();
metadata["foo"] = "bar";
blob.Metadata.Add(metadata);
设置元数据后,我调用myBlob.SetMetadata()
以将元数据保存到 Azure,如文档所指定,但它不会粘住。该调用不会引发任何异常,但是当我获得对我的 blob 的新引用时,它没有任何元数据。
我也尝试过使用异步保存元数据BeginSetMetadata()
,EndSetMetadata()
但结果相似。
我开始认为我在这里遗漏了一些非常微不足道的东西,但是盯着它看了五个小时后,我仍然不明白我哪里错了?