6
votes

I am attempted to get a Document from DocumentDB using the REST API. I am using a partitioned Collection and therefore need to add the "x-ms-documentdb-partitionkey" header. If I add this, I get "Partition key abc is invalid". I can't find anywhere in the documentation that expects the key to be in specific format, but simply supplying the expected string value does not work. Does anyone know the expected format?

2

2 Answers

12
votes

Partition key must be specified as an array (with a single element). For example:

x-ms-documentdb-partitionkey: [ "abc" ]
2
votes

Partition key for a partitioned collection is actually the path to a property in DocumentDB. Thus you would need to specify it in the following format:

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

From Partitioning and scaling in Azure DocumentDB:

You must pick a JSON property name that has a wide range of values and is likely to have evenly distributed access patterns. The partition key is specified as a JSON path, e.g. /department represents the property department.

More examples are listed in the link as well.