Aufruf der Sproc funktioniert gut, aber ich kann nicht scheinen, um einen Parameter zu übergeben. Es funktioniert wie erwartet im Azure-Portal, aber nicht beim Aufruf von .net.Rufen Sie DocumentDb gespeicherte Prozedur von .Net mit Parametern auf.
documentClient = new DocumentClient(new Uri(endpointUrl), authorizationKeyAdmin);
var sproc = documentClient.CreateStoredProcedureQuery(_companyCollection.StoredProceduresLink, "select * from root r where r.id = \"testSproc\"");
var result = documentClient.ExecuteStoredProcedureAsync<string>("dbs/GypNAB==/colls/GxpNAKrZMwA=/sprocs/GxpNAKrZMwxxxxAAAAAAAgA==/", sproc, "MyParameter");
Die sproc hat sich nicht wirklich verändert
function sample(rrid) {
var collection = getContext().getCollection();
// Query documents and take 1st item.
var isAccepted = collection.queryDocuments(
collection.getSelfLink(),
'SELECT top 1 * FROM c where c.RRID = "'+rrid+'"',
function (err, feed, options) {
if (err) throw err;
// Check the feed and if empty, set the body to 'no docs found',
// else take 1st element from feed
if (!feed || !feed.length) getContext().getResponse().setBody(rrid + 'no docs found!');
else getContext().getResponse().setBody(JSON.stringify(feed[0]));
});
if (!isAccepted) throw new Error('The query was not accepted by the server.');
}
Die Ausgabe, wenn sie von .net namens "gefunden [object Object] keine docs!" Ich würde erwarten, dass [Object Object] mein Parameterwert ist. Wenn ich die Parameterbeschränkung entferne, bekomme ich ein korrektes Ergebnis zurück. Auch wenn ich es mit dem Parameter in azurblau benutze, bekomme ich ein korrektes Ergebnis zurück.
Vielen Dank für die Zeit.
Ug, thanx. Ich vermute, dass ich meinen Code auf ein schlechtes Beispiel gestützt habe. Vielleicht kannst du es dann erklären, ich habe ein paar Beispiele gesehen, die erst * aus Sproc-Namen auswählen. Soll das verwendet werden, um die Sproc-ID herauszubekommen, oder wozu dient das? – VirtualLife
Als DocumentDB veröffentlicht wurde, mussten alle Ressourcen durch eine vom System generierte "_self" -Links referenziert werden ... möglicherweise basieren ältere Samples darauf. Vor etwa einem halben Jahr wurde das Routing mit einer benutzerdefinierten ID durchgeführt, die die Abfrage von Ressourcen per ID überflüssig macht. –