Ersätta en lagrad procedur
Om du utför en PUT-åtgärd på en specifik lagrad procedurresurs ersätts hela resursen för lagrad procedur. Alla egenskaper som kan ställas in av användaren, inklusive ID och brödtext, måste skickas i brödtexten för att utföra ersättningen.
Förfrågan
Metod | URI för förfrågan | Description |
---|---|---|
PUT | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/sprocs/{sproc-name} | {databaseaccount} är namnet på det Azure Cosmos DB-konto som skapats under din prenumeration. Värdet {db-id} är det användargenererade namnet/ID:t för databasen där den lagrade proceduren ersätts, inte det systemgenererade ID:t (rid). Värdet {coll-id} är namnet på samlingen där den lagrade proceduren ersätts. Värdet {sproc-name} är namnet på den lagrade procedur som ska ersättas. |
Sidhuvuden
Se Vanliga REST-begärandehuvuden för Azure Cosmos DB för rubriker som används av alla Cosmos DB-begäranden.
Brödtext
Egenskap | Krävs | Typ | Description |
---|---|---|---|
id | Obligatorisk | Sträng | Användaren genererade ett unikt namn för den lagrade proceduren. Inga två lagrade procedurer kan ha samma ID:n. Det är en sträng som inte får innehålla fler än 255 tecken. |
Kroppen | Obligatorisk | Sträng | Brödtexten i den lagrade proceduren. |
{
"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"
}
Svarsåtgärder
Sidhuvuden
Se Vanliga REST-svarshuvuden för Azure Cosmos DB för rubriker som returneras av alla Cosmos DB-svar.
Statuskoder
I följande tabell visas vanliga statuskoder som returneras av den här åtgärden. En fullständig lista över statuskoder finns i HTTP-statuskoder.
HTTP-statuskod | Beskrivning |
---|---|
200 Ok | Ersättningsåtgärden lyckades. |
400 Felaktig begäran | JSON-brödtexten är ogiltig. Sök efter saknade klammerparenteser eller citattecken. |
404 – Hittades inte | Den lagrade proceduren som ska ersättas är inte längre en resurs, d.v.s. den lagrade proceduren har tagits bort. |
409 – Konflikt | Det ID som angavs för den lagrade proceduren har tagits av en befintlig lagrad procedur. |
Brödtext
Egenskap | Beskrivning |
---|---|
_Bli | Det är en systemgenererad egenskap. Resurs-ID :t (_rid) är en unik identifierare som också är hierarkisk per resursstacken i resursmodellen. Den används internt för placering och navigering av behörighetsresursen. |
_Ts | Det är en systemgenererad egenskap. Den anger den senast uppdaterade tidsstämpeln för resursen. Värdet är en tidsstämpel. |
_Själv | Det är en systemgenererad egenskap. Det är den unika adresserbara URI:n för resursen. |
_Etag | Det är en systemgenererad egenskap som representerar resursetaggen som krävs för optimistisk samtidighetskontroll. |
{
"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\""
}
Exempel
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\""
}