2016-11-04 57 views
2

我試圖使用REST API從DocumentDB獲取文檔。我正在使用分區集合,因此需要添加「x-ms-documentdb-partitionkey」標題。如果我添加這個,我得到「分區鍵abc是無效的」。我無法在文檔中的任何地方找到特定格式的密鑰,但只是提供期望的字符串值不起作用。有誰知道預期的格式?DocumentDB REST API:x-ms-documentdb-partitionkey無效

回答

4

分區鍵必須指定爲數組(具有單個元素)。例如:

x-ms-documentdb-partitionkey: [ "abc" ] 
+0

謝謝!這正是我需要的! –

+0

[MS REST API文檔](https://docs.microsoft.com/en-us/rest/api/documentdb/querying-documentdb-resources-using-the-rest-api)沒有按照'partitionkey ',它確實有一個頭文件屬性'x-ms-partition-key',它被忽略。在查詢時將標題值「x-ms-documentdb-query-enablecrosspartition」設置爲「true」將忽略分區。 'x-ms-documentdb-partitionkey'確實有效 - 這個問題是在**括號**中加入的,而不僅僅是partitionkey的值。 – SliverNinja

+0

嗨Aravind,你知道如何在宇宙存儲過程中指定分區鍵嗎?我一直在嘗試所有不同的組合,但沒有任何運氣。在這裏發佈一個問題https://stackoverflow.com/questions/48900680/400-error-when-upsert-using-cosmos-sp – Illuminati

2

分區集合的分區鍵實際上是DocumentDB中屬性的路徑。因此,你需要按以下格式指定它:

/{path to property name} e.g. /department 

Partitioning and scaling in Azure DocumentDB

你必須選擇具有廣泛價值的JSON屬性名和 很可能已經均勻分佈訪問模式。 分區 鍵被指定爲JSON路徑,例如, /部門代表 財產部門

鏈接中還列出了更多示例。

相關問題