Funções Definidas pelo Utilizador
O Azure Cosmos DB é uma base de dados com vários modelos distribuída globalmente que suporta os modelos de dados de documentos, gráficos e chave-valor. O conteúdo nesta secção destina-se à gestão de recursos de funções definidas pelo utilizador (udfs) através da API sql através de REST.
Uma função definida pelo utilizador (UDF) é uma parte sem efeitos secundários da lógica da aplicação escrita em JavaScript. Permite que os programadores construam um operador de consulta, expandindo assim o núcleo da linguagem de consulta do Cosmos DB. Tal como os procedimentos armazenados, as UDFs residem nos limites de uma coleção, limitando assim a lógica da aplicação à coleção.
À semelhança dos procedimentos armazenados, o recurso UDFs tem um esquema fixo. A propriedade body contém a lógica da aplicação. O exemplo seguinte ilustra a construção JSON de uma função definida pelo utilizador.
{
"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"
}
Propriedade | Descrição |
---|---|
id | Obrigatório. É uma propriedade settable do utilizador. É um nome exclusivo para identificar a UDF. O ID não pode exceder os 255 carateres. |
corpo | Obrigatório. É uma propriedade settable do utilizador. É o corpo da UDF. |
_rid | É uma propriedade gerada pelo sistema. O ID do recurso (_rid) é um identificador exclusivo que também é hierárquico de acordo com a pilha de recursos no modelo de recursos. É utilizado internamente para colocação e navegação do recurso UDF. |
_ts | É uma propriedade gerada pelo sistema. Especifica o último carimbo de data/hora atualizado do recurso. O valor é um carimbo de data/hora. |
_self | É uma propriedade gerada pelo sistema. É o URI endereçável exclusivo para o recurso. |
_etag | É uma propriedade gerada pelo sistema que especifica a etag de recursos necessária para o controlo de simultaneidade otimista. |
Tarefas
Pode fazer o seguinte com funções definidas pelo utilizador:
Para obter informações sobre como funcionam os UDFs, incluindo a execução de uma UDF numa consulta, veja Programação do Cosmos DB: Procedimentos armazenados, acionadores e UDFs.