2017-03-21 3 views
4

Ich versuche, ein JSON-Dokument über REST in DocumentDB einzufügen, wobei PHP verwendet wird (ohne einen offiziellen API-Wrapper). Jetzt scheint ein Partitionsschlüssel für jede Sammlung in DocumentDB obligatorisch zu sein, aber ich kann die REST-API nicht dokumentiert finden.DocumentDB REST API: Aus dem Dokument extrahierter Partitionsschlüssel stimmt nicht überein

bekomme ich folgende Fehler im Gegenzug:

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

Das JSON-Dokument Ich versuche, sieht einfügen wie folgt:

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

In Azure, ich die Sammlung mit der folgenden definiert haben Partition Key:

/domain 

Und beim Senden der REST-Anfrage, ich sende die folgende Überschrift:

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

Was fehlt mir hier?

+0

Sie müssten den Partitionsschlüsselwert und nicht das Attribut angeben, d. H. Sie würden 'x-ms-documentdb-partitionkey: [" domain.com "]' schreiben. Bitte versuchen Sie es mit diesem. –

+0

Es hat funktioniert !! Danke vielmals! (Bitte fügen Sie Ihre Antwort als Antwort - nicht Kommentar - so kann ich akzeptiert/gelöst setzen) – erlangsec

+2

Klarstellung: Partition Schlüssel sind für * partitionierte Sammlungen *, nicht für Einzelpartitionen Sammlungen erforderlich. –

Antwort

3

Für den Wert x-ms-documentdb-partitionkey müssen Sie den Wert des Partitionsschlüssels ("domain.com") und nicht das Attribut des Partitionsschlüssels ("domain") angeben.

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

Sobald Sie dies tun, Dokumente diese Partition Schlüsselwert entsprechen, werden zurückgeschickt.

Verwandte Themen