Condividi tramite


Sostituire una funzione definita dall'utente

L'esecuzione di un'operazione PUT in una risorsa UDF specifica sostituisce l'intera risorsa UDF. Tutte le proprietà di tabella impostate dall'utente, incluso 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}/udfs/{udf-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 sostituito l'utente, non l'ID generato dal sistema (rid) del database. Il valore {coll-id} è il nome della raccolta in cui viene sostituita la funzione UDF. Il valore {udf-name} è il nome della funzione UDF da sostituire.

Intestazioni

Vedere Intestazioni di richiesta REST di Azure Cosmos DB comuni per le intestazioni usate da tutte le richieste di 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 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 funzione definita dall'utente da sostituire non è più una risorsa, ovvero l'utente è stato eliminato.
409 - Conflitto L'ID fornito per la funzione UDF è stato acquisito 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

PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/udfs/simpleTaxUDF HTTP/1.1  
x-ms-session-token: 38  
x-ms-date: Wed, 09 Dec 2015 19:11:33 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3d61JdqPLJi6nMRA0uI2lqFE9kUlgNq5EN1xo0zRlDpbw%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=38  
Content-Length: 446  
Expect: 100-continue  
  
{  
    "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 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/udfs/simpleTaxUDF  
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: "060072e4-0000-0000-0000-56687ce50000"  
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: 38  
x-ms-session-token: 39  
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: db26233c-a794-4afa-bcec-f136ffb473d9  
Set-Cookie: x-ms-session-token=39; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1  
x-ms-gatewayversion: version=1.5.57.3  
Date: Wed, 09 Dec 2015 19:11:34 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\""  
}  
  

Vedere anche