从 CosmosDB 连接字符串解析端点 Uri

Parse Endpoint Uri from CosmosDB connection string

我有一个包含 CosmosDB 连接字符串的环境变量,即这种格式:

AccountEndpoint=https://ACCOUNTNAME.documents.azure.com:443/;AccountKey=STUFF==;

在我连接到本机 API 之前(使用 CreateAndInitializeAsync,我想记录端点 Uri,但找不到解析 API。

最好的方法是什么,最好使用最少的代码?

我知道一旦 CosmosClient 回来我就能得到 .Endpoint

 let endpointUri : Uri = Microsoft.Azure.Cosmos.CosmosClient(connStr).Endpoint

但这对我来说太重了:(

您可以使用 DbConnectionStringBuilder (docs):

using System.Data.Common;

string connectionString = "AccountEndpoint=https://ACCOUNTNAME.documents.azure.com:443/;AccountKey=STUFF==;";
var builder = new DbConnectionStringBuilder
{
    ConnectionString = connectionString
};
string? endpoint = builder["AccountEndpoint"]?.ToString();

这就是 .NET SDK 本身解析连接字符串的方式。 (source)