Creare una funzione definita dall'utente
L'operazione Create User Defined Function
crea una nuova stored procedure in una raccolta.
Richiesta
Metodo | URI richiesta | Descrizione |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/udfs |
{databaseaccount} è il nome dell'account Azure Cosmos DB creato nella sottoscrizione. Il valore {db-id} è il nome/l'ID generato dall'utente del database in cui viene creata l'utente, non l'ID generato dal sistema (rid) del database. Il valore {coll-id} è il nome della raccolta in cui viene creata la funzione utente. |
Intestazioni
Vedere Intestazioni di richiesta REST di Azure Cosmos DB comuni per le intestazioni usate da tutte le richieste di Azure Cosmos DB.
Corpo
Proprietà | Obbligatoria | Tipo | Descrizione |
---|---|---|---|
id | Necessario | string | Si tratta di un nome univoco per identificare la funzione definita dall'utente. L'ID non deve superare i 255 caratteri. |
body | Necessario | string | È il corpo della funzione UDF. |
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF"
}
Risposta
Intestazioni
Vedere Intestazioni di risposta REST di Azure Cosmos DB comuni per le intestazioni restituite da tutte le risposte di Azure 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 |
---|---|
201 Creato | L'operazione è stata completata. |
400 - Richiesta non valida | Il corpo JSON non è valido. Controllare parentesi graffe o virgolette mancanti. |
409 - Conflitto | L'ID fornito per la nuova funzione definita dall'utente è stato preso da una funzione UDF esistente. |
Corpo
Proprietà | Descrizione |
---|---|
_liberarsi | Si tratta di una proprietà generata dal sistema. L'ID risorsa (_rid) è un identificatore univoco che è anche gerarchico per ogni stack di risorse nel modello di risorsa. Viene usato internamente per il posizionamento e l'esplorazione della risorsa UDF. |
_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 specifica l'etag della risorsa necessaria per il controllo di concorrenza ottimistica. |
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF",
"_rid": "Sl8fALN4sw4BAAAAAAAAYA==",
"_ts": 1449687949,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/udfs\/Sl8fALN4sw4BAAAAAAAAYA==\/",
"_etag": "\"06003ee4-0000-0000-0000-56687b8d0000\""
}
Esempio
POST https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/udfs HTTP/1.1
x-ms-session-token: 37
x-ms-date: Wed, 09 Dec 2015 19:05:49 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3d6OaA6qWdazmZ%2fp5LjSROiDEjquzF5a9YIPFRqLQEenM%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=37
Content-Length: 287
Expect: 100-continue
Connection: Keep-Alive
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF"
}
HTTP/1.1 201 Created
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
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: "06003ee4-0000-0000-0000-56687b8d0000"
x-ms-resource-quota: functions=25;
x-ms-resource-usage: functions=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: 37
x-ms-session-token: 38
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 4.95
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: 2fdee379-7044-4275-a655-5367bf0a3798
x-ms-gatewayversion: version=1.5.57.3
Date: Wed, 09 Dec 2015 19:05:51 GMT
Content-Length: 468
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF",
"_rid": "Sl8fALN4sw4BAAAAAAAAYA==",
"_ts": 1449687949,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/udfs\/Sl8fALN4sw4BAAAAAAAAYA==\/",
"_etag": "\"06003ee4-0000-0000-0000-56687b8d0000\""
}