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.