Ich versuche, mit einer Partition Schlüssel /newpart
Partition Key Fehler bei der gespeicherten Prozedur läuft
nur einen einzelnen Datensatz in eine Sammlung einfügen, um sicherzustellen, ich bin zu interpretieren, was eine Partition Schlüssel ist, bin ich es unter der Annahme, ist der Wert wie hier gezeigt.
Innerhalb dieser Kollektion habe ich eine gespeicherte Prozedur namens createMyDocument
die
function createMyDocument(documentToCreate) {
var context = getContext();
var collection = context.getCollection();
var accepted = collection.createDocument(collection.getSelfLink(),
documentToCreate,
function (err, documentCreated) {
if (err) throw new Error('Error' + err.message);
context.getResponse().setBody(documentCreated.id)
});
if (!accepted) return;
}
Ich nenne das über Python mit:
config = {
'ENDPOINT': 'deleted',
'MASTERKEY': 'deleted',
'DOCUMENTDB_DATABASE': 'database',
'DOCUMENTDB_COLLECTION': 'newup'
};
client = document_client.DocumentClient(config['ENDPOINT'], {'masterKey': config['MASTERKEY'] ,'DisableSSLVerification' : 'true' })
data = {"name":"Ben","age":30,"city":"New York"}
client.ExecuteStoredProcedure('dbs/database/colls/newup/sprocs/createMyDocument', data, {"partitionKey" : "/newpart"})
Der Fehler zurückgegeben wird Requests originating from scripts cannot reference partition keys other than the one for which client request was submitted
So verwirrt mich die Fehlermeldung, weil die gespeicherte Prozedur (nach meinem Verständnis) in der Sammlung mit einem Partitionsschlüssel von /newpart
gespeichert ist. Das ist die gleiche Sammlung und daher derselbe Partitionsschlüssel (?), In den ich das Dokument einfügen möchte. Der Fehler deutet jedoch auf etwas anderes hin.
Sorry Jay, bin immer noch verwirrt. Muss ich den Partitionsschlüssel in der Zeile 'data = {" name ":" Ben "," age ": 30," city ":" New York "} oder in der Zeile" client "übergeben.ExecuteStoredProcedure ('dbs/datenbank/kolls/newup/sprocs/createMyDocument', daten, {"partitionKey": "/ newpart"}) '? Wenn ich den Partitionsschlüssel aus der zweiten Zeile entferne, tritt der Fehler auf, dass der Partitionsschlüssel nicht geliefert wird. Können Sie meinen Code ändern, um mir zu zeigen, was Sie meinen, oder fehlt mir etwas Grundlegendes in meinem Verständnis? –
@BenMayo Sicher! Bitte geben Sie mir etwas Zeit, um meine Antwort zu Ihrem Code zu aktualisieren. –
@BenMayo Hallo, bitte sehen Sie meine Update-Antwort. Danke! Jede Sorge, lassen Sie mich –