是否可以使用其SDK在CosmosDB中获取集合的分区键?

时间:2018-06-19 15:17:49

标签: azure http azure-cosmosdb azure-sdk-.net azure-cosmosdb-sqlapi

我正在使用RESTfull HTTP请求来获取集合的分区密钥。我在做:

        response = client.GetStringAsync(new Uri(baseUri, resourceLink)).Result;
        var data3 = (JObject)JsonConvert.DeserializeObject(response);
        if (data3["partitionKey"] != null)
        {
            string partitionKey = data3["partitionKey"]["paths"][0].ToString();
            string PartitionKey = partitionKey.Substring(1);
            return PartitionKey;
        }

有没有更有效的方法?他们的SDK是否有直接的方法来获取分区密钥?

更新

我对获取分区键范围的响应是:

item={ "_rid": "lIB0ALrgyAACAAAAAAAAUA==", "id": "0", "_etag": "\"00000000-0000-0000-0318-18b49de501d4\"", "minInclusive": "", "maxExclusive": "FF", "ridPrefix": 0, "_self": "dbs/lIB0AA==/colls/lIB0ALrgyAA=/pkranges/lIB0ALrgyAACAAAAAAAAUA==/", "throughputFraction": 1.0, "status": "online", "parents": [], "_ts": 1528895512 }

这如何使我接近找出分区键是什么?

3 个答案:

答案 0 :(得分:1)

您尝试使用标准的cosmos .Net客户端吗?

            var col = await CosmosClient.ReadDocumentCollectionAsync(UriFactory.CreateDocumentCollectionUri(
            dataBaseName,
            collectionName));

            var pathes = col.Resource.PartitionKey.Paths;

答案 1 :(得分:0)

.NET SDK使您能够使用ReadPartitionKeyRangeFeedAsync查询分区范围。

Get all the Partition Keys in Azure Cosmos DB collection

是的,.NET SDK为您提供了一种查找分区键的方法。

答案 2 :(得分:0)