Newtonsoft Schema:.NET Core:解析私有 Azure Blob 容器中的模式

Newtonsoft Schema: .NET Core: Resolve schemas in private Azure Blob Container

上下文: 我有一个带有私有 blob 容器的 Azure 存储帐户。在此容器中,我将根架构与根架构引用的子架构存储在一起。

目标: 我的目标是访问私有容器中的模式并使用 Newtonsoft JSON.NET 模式和身份(用户身份/托管身份)的 JSchemaUrlResolver 解析它们。

问题: 我不能使用 SAS URI。 IE。我必须使用没有任何附加参数的“正常”Blob URI。在我的 .NET Core 应用程序中,我可以检索 Azure 凭据,在此上下文中还可以检索令牌。但是 JSchemaUrlResolver 仅支持 System.Net ICredential 和 Basic auth,我没有看到分别使用令牌和 Azure Credential 进行身份验证的选项。

问题: 有没有办法(除了下载文件,例如使用 SDK)在给定上述上下文的情况下获取和解析存储在私有 Blob 容器中的模式?

您将需要实现自己的 JSchemaResolver,它能够从您的 blob 存储帐户下载文件。

有关如何实施 JSchemaResolver 的示例,请参阅 https://github.com/JamesNK/Newtonsoft.Json.Schema/blob/e00fb27edd710a4e4270c08b607143d15bc67c84/Src/Newtonsoft.Json.Schema/JSchemaUrlResolver.cs