gpt4 book ai didi

Azure CloudBlob SetMetadata 失败并显示 "The metadata specified is invalid. It has characters that are not permitted."

转载 作者:行者123 更新时间:2023-12-04 13:59:24 43 4
gpt4 key购买 nike

我很确定这是 Windows Azure SDK 的限制(使用最新的 1.4),但必须有一种方法可以解决这个问题,而无需使用手动 REST...

代码:

CloudBlob blob = container.GetBlobReference(url); // works
blob.UploadByteArray(bytes); // works
blob.Metadata["test"] = "public, max-age=259200"; // works
// FAILS with "The metadata specified is invalid. It has characters that are not permitted."
blob.Metadata["x-ms-blob-cache-control"] = "public, max-age=259200";
blob.SetMetadata(); // FAILS due to the 2nd meta data

从我的测试中可以清楚地看出,客户端由于这些破折号“-”而崩溃,但我想不出任何解决方法。设置缓存控制非常重要,也是常见的操作,这让我很困惑为什么我找不到其他人报告这个问题。

我还尝试过对数据进行编码,这在技术上是不必要的,但出于绝望,我还是这么做了。有想法吗?

最佳答案

它最终成为一个愚蠢的 SDK 限制,有一个特定的属性反过来为你设置特定的元数据...我不介意将此属性作为帮助器,但我看不出为什么直接设置元应该不起作用。

blob.Properties.CacheControl = "public, max-age=259200";
blob.UploadByteArray(bytes);

关于Azure CloudBlob SetMetadata 失败并显示 "The metadata specified is invalid. It has characters that are not permitted.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6884073/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com