Sostituire una stored procedure
L'esecuzione di un'operazione PUT su una risorsa stored procedure specifica sostituisce l'intera risorsa stored procedure. Tutte le proprietà impostabili dall'utente, inclusi l'ID e il corpo, devono essere inviate nel corpo per eseguire la sostituzione.
Richiesta
Metodo | URI richiesta | Descrizione |
---|---|---|
PUT | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/sprocs/{sproc-name} | {databaseaccount} è il nome dell'account Azure Cosmos DB creato nella sottoscrizione. Il valore {db-id} è il nome/ID generato dall'utente del database in cui viene sostituita la stored procedure, non l'ID generato dal sistema (rid). Il valore {coll-id} è il nome della raccolta in cui viene sostituita la stored procedure. Il valore {sproc-name} è il nome della stored procedure da sostituire. |
Intestazioni
Vedere Intestazioni di richiesta REST comuni di Azure Cosmos DB per le intestazioni usate da tutte le richieste di Cosmos DB.
Corpo
Proprietà | Obbligatoria | Tipo | Descrizione |
---|---|---|---|
id | Necessario | string | L'utente ha generato un nome univoco per la stored procedure. Nessuna stored procedure può avere gli stessi ID. Si tratta di una stringa che non deve contenere più di 255 caratteri. |
body | Necessario | string | Corpo della stored procedure. |
{
"body": "function (personToGreet) {\r\n var context = getContext();\r\n var response = context.getResponse();\r\n\r\n response.setBody(\"Hello, \" + personToGreet);\r\n}",
"id": "sproc_hello_world"
}
Risposta
Intestazioni
Vedere Intestazioni di risposta REST comuni di Azure Cosmos DB per le intestazioni restituite da tutte le risposte di Cosmos DB.
Codici di stato
La seguente tabella elenca i codici di stato comuni restituiti da questa operazione. Per un elenco completo dei codici di stato, vedere Codici di stato HTTP.
Codice di stato HTTP | Descrizione |
---|---|
200 Ok | L'operazione di sostituzione è riuscita. |
400 - Richiesta non valida | Il corpo JSON non è valido. Controllare parentesi graffe o virgolette mancanti. |
404 - Non trovato | La stored procedure da sostituire non è più una risorsa, ovvero la stored procedure è stata eliminata. |
409 - Conflitto | L'ID fornito per la stored procedure è stato acquisito da una stored procedure esistente. |
Corpo
Proprietà | Descrizione |
---|---|
_liberarsi | Si tratta di una proprietà generata dal sistema. L'ID risorsa (_rid) è un identificatore univoco gerarchico anche per ogni stack di risorse nel modello di risorse. Viene usato internamente per il posizionamento e l'esplorazione della risorsa di autorizzazione. |
_Ts | Si tratta di una proprietà generata dal sistema. Indica il timestamp dell'ultimo aggiornamento della risorsa. Il valore è un timestamp. |
_stesso | Si tratta di una proprietà generata dal sistema. URI indirizzabile univoco per la risorsa. |
_Etag | Si tratta di una proprietà generata dal sistema che rappresenta l'etag della risorsa necessaria per il controllo della concorrenza ottimistica. |
{
"body": "function (personToGreet) {\r\n var context = getContext();\r\n var response = context.getResponse();\r\n\r\n response.setBody(\"Hello, \" + personToGreet);\r\n}",
"id": "sproc_hello_world",
"_rid": "Sl8fALN4sw4DAAAAAAAAgA==",
"_ts": 1449684031,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/sprocs\/Sl8fALN4sw4DAAAAAAAAgA==\/",
"_etag": "\"0600b5e2-0000-0000-0000-56686c3f0000\""
}
Esempio
PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/sprocs/sproc_hello_world HTTP/1.1
x-ms-session-token: 36
x-ms-date: Wed, 09 Dec 2015 18:00:31 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3d7G0d%2b6neXwXcfD36WU4lUD97Gk7cgAbrs3iaTKgfd%2bM%3d
Cache-Control: no-cache
User-Agent: contoso/1.0
x-ms-version: 2015-08-06
Accept: application/json
Host: contosomarketing.documents.azure.com
Cookie: x-ms-session-token=36
Content-Length: 371
Expect: 100-continue
Connection: Keep-Alive
{
"body": "function (personToGreet) {\r\n var context = getContext();\r\n var response = context.getResponse();\r\n\r\n response.setBody(\"Hello, \" + personToGreet);\r\n}",
"id": "sproc_hello_world"
}
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
Content-Location: https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/sprocs/sproc_hello_world
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT
etag: "0600b5e2-0000-0000-0000-56686c3f0000"
x-ms-resource-quota: storedProcedures=25;
x-ms-resource-usage: storedProcedures=1;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/volcanodb/colls/volcano1
x-ms-content-path: Sl8fALN4sw4=
x-ms-quorum-acked-lsn: 36
x-ms-session-token: 37
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 9.9
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: 1c4f917f-c34d-41c2-9874-851f033696b2
Set-Cookie: x-ms-session-token=37; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1
x-ms-gatewayversion: version=1.5.57.3
Date: Wed, 09 Dec 2015 18:00:32 GMT
Content-Length: 388
{
"body": "function (personToGreet) {\r\n var context = getContext();\r\n var response = context.getResponse();\r\n\r\n response.setBody(\"Hello, \" + personToGreet);\r\n}",
"id": "sproc_hello_world",
"_rid": "Sl8fALN4sw4DAAAAAAAAgA==",
"_ts": 1449684031,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/sprocs\/Sl8fALN4sw4DAAAAAAAAgA==\/",
"_etag": "\"0600b5e2-0000-0000-0000-56686c3f0000\""
}