Compartir a través de


Funciones definidas por el usuario

Azure Cosmos DB es una base de datos multimodelo distribuida globalmente que admite los modelos de datos de documento, gráfico y clave-valor. El contenido de esta sección es para administrar recursos de función definidos por el usuario (udfs) mediante la API de SQL a través de REST.

Una función definida por el usuario (UDF) es un elemento secundario libre de lógica de aplicación escrita en JavaScript. Permite a los desarrolladores construir un operador de consulta, lo que amplía el núcleo del lenguaje de consulta de Cosmos DB. Al igual que los procedimientos almacenados, las UDF residen dentro de los confines de una colección, por lo que restringen la lógica de aplicación a la colección.

De forma similar a los procedimientos almacenados, el recurso de UDF tiene un esquema fijo. La propiedad del cuerpo contiene la lógica de aplicación. En el ejemplo siguiente se muestra la construcción JSON de una función definida por el usuario.

{  
"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"  
}  
  
Propiedad Descripción
id Necesario. Es una propiedad que se puede establecer por el usuario. Se trata de un nombre único para identificar la UDF. El identificador no debe superar los 255 caracteres.
body Necesario. Es una propiedad que se puede establecer por el usuario. Es el cuerpo de la UDF.
_Librar Es una propiedad generada por el sistema. El identificador de recurso (_rid) es un identificador único que también es jerárquico por la pila de recursos en el modelo de recursos. Se usa internamente para la colocación y el desplazamiento del recurso de UDF.
_Ts Es una propiedad generada por el sistema. Especifica la última marca de tiempo actualizada del recurso. El valor es una marca de tiempo.
_propio Es una propiedad generada por el sistema. Es el URI direccionable único para el recurso.
_Etag Se trata de una propiedad generada por el sistema que especifica la etag de recursos necesaria para el control de simultaneidad optimista.

Tareas

Puede hacer lo siguiente con funciones definidas por el usuario:

Para obtener información sobre cómo funcionan las UDF, incluida la ejecución de una UDF en una consulta, consulte Programación de Cosmos DB: Procedimientos almacenados, desencadenadores y UDF.

Consulte también