Condividi tramite


Funzioni definite dall'utente

Azure Cosmos DB è un database multimodello distribuito a livello globale che supporta i modelli di dati document, graph e key-value. Il contenuto di questa sezione riguarda la gestione delle risorse di funzioni definite dall'utente tramite l'API SQL tramite REST.

Una funzione definita dall'utente (UDF) è una parte libera dell'effetto collaterale della logica dell'applicazione scritta in JavaScript. Consente agli sviluppatori di costruire un operatore di query, estendendo così il core del linguaggio di query di Cosmos DB. Analogamente alle stored procedure, le funzioni definite dall'utente (UDF, User Defined Function) esistono nei confini di una raccolta, limitando quindi la logica dell'applicazione alla raccolta stessa.

Analogamente alle stored procedure, la risorsa UDF ha uno schema fisso. La proprietà body contiene la logica dell'applicazione. L'esempio seguente illustra il costrutto JSON di una funzione definita dall'utente.

{  
"id":"simpleTaxUDF",  
"body": "  
function tax(income) {  
        if(income == undefined)   
            throw 'no input';  
        if (income < 1000)   
            return income * 0.1;  
        else if (income < 10000)   
            return income * 0.2;  
        else  
            return income * 0.4;  
    }  
",  
"_rid":"hLEEAI1YjgcBAAAAAAAAgA==",  
"_ts":1408058682,  
"_self":"dbs\/hLEEAA==\/colls\/hLEEAI1Yjgc=\/udfs\/hLEEAI1YjgcBAAAAAAAAgA==\/",  
"_etag":"00004100-0000-0000-0000-53ed453a0000"  
}  
  
Proprietà Descrizione
id Obbligatorio. Si tratta di una proprietà impostabile dall'utente. Si tratta di un nome univoco per identificare la funzione definita dall'utente. L'ID non deve superare i 255 caratteri.
body Obbligatorio. Si tratta di una proprietà impostabile dall'utente. È il corpo della funzione definita dall'utente.
_rid 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 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 della concorrenza ottimistica.

Attività

È possibile eseguire le operazioni seguenti con le funzioni definite dall'utente:

Per informazioni sul funzionamento delle funzioni definite dall'utente, inclusa l'esecuzione di una funzione definita dall'utente in una query, vedere Programmazione di Cosmos DB: stored procedure, trigger e funzioni definite dall'utente.

Vedere anche