DocumentDB do Azure - As solicitações originadas de scripts não podem fazer referência a chaves de partição diferentes daquela para a qual a solicitação do cliente foi enviada
Usando o SDK do cliente c # .Net, estou chamando o método ExecuteStoredProcedureAsync da seguinte maneira:
sproc_response = await client.ExecuteStoredProcedureAsync<Document>(sproc_uri, new RequestOptions { PartitionKey = new PartitionKey( my_partition_key) }, doc_to_create );
O código do procedimento armazenado é o seguinte:
sproc.Body = @"function( doc ) {
var collection = getContext().getCollection();
var response = getContext().getResponse();
function create_doc_callback( err, doc_created, options ) {
if(err) throw new Error('Error creating document: ' + err.message);
response.setBody( doc_created );
}
collection.createDocument( collection.getSelfLink(), doc, {}, create_doc_callback );
}";
Isso SEMPRE resulta na seguinte exceção sendo lançada:
Erro ao criar o documento: solicitações originadas de scripts não podem fazer referência a chaves de partição diferentes daquela para a qual a solicitação do cliente foi enviada.
Existe alguma documentação ou exemplo que mostre claramente como chamar um procedimento armazenado usando uma chave de partição - obviamente, estou perdendo alguma coisa!