2017-03-21 116 views
4

我試圖通過REST使用PHP(它缺少官方的API封裝)將JSON文檔插入到DocumentDB中。現在,似乎分區密鑰已成爲DocumentDB中任何集合的必需分區,但我找不到REST API記錄。DocumentDB REST API:從文檔中提取的PartitionKey不匹配

我收到以下錯誤回報:

PartitionKey extracted from document doesn't match the one specified in the header 

我試圖插入外觀如下JSON文件:

{ id:"1", ... "domain":"domain.com" } 

在Azure中,我有以下定義的集合分區鍵:

/domain 

併發送REST請求時,我沿着下面的頭派:

x-ms-documentdb-partitionkey: [ "domain" ] 

我在這裏錯過了什麼?

+0

您需要指定分區鍵值而不是屬性,即您將編寫'x-ms-documentdb-partitionkey:[「domain.com」]'。請試試這個。 –

+0

它的工作!非常感謝! (請添加您的回覆作爲答案 - 不是評論 - 所以我可以設置接受/解決) – erlangsec

+2

說明:*分區集合*需要分區鍵,而不是單分區集合。 –

回答

3

對於x-ms-documentdb-partitionkey值,您需要指定分區鍵值("domain.com")而不是分區鍵屬性("domain")。

x-ms-documentdb-partitionkey: [ "domain.com" ]

一旦你這樣做,匹配該分區鍵值的文件將被退回。