Funções definidas pelo usuário
O Azure Cosmos DB é um banco de dados multimodelo distribuído globalmente que dá suporte aos modelos de dados de documento, grafo e chave-valor. O conteúdo nesta seção destina-se ao gerenciamento de udfs ( recursos de função definidos pelo usuário) usando a API do SQL por meio de REST.
Uma UDF (função definida pelo usuário) é uma parte livre de efeito colateral da lógica do aplicativo escrita em JavaScript. Ele permite que os desenvolvedores construam um operador de consulta, estendendo assim o núcleo da linguagem de consulta do Cosmos DB. Como procedimentos armazenados, os UDFs ficam nos limites de uma coleção, restringindo, assim, a lógica do aplicativo à coleção.
Semelhante aos procedimentos armazenados, o recurso de UDFs possui um esquema fixo. A propriedade Corpo contém a lógica do aplicativo. O exemplo a seguir ilustra o constructo JSON de uma função definida pelo usuário.
{
"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órios. É uma propriedade configurável pelo usuário. É um nome exclusivo para identificar o UDF. A ID não deve exceder 255 caracteres. |
body | Obrigatórios. É uma propriedade configurável pelo usuário. É o corpo da UDF. |
_Livrar | É uma propriedade gerada pelo sistema. A ID do recurso (_rid) é um identificador exclusivo que também é hierárquico de acordo com a pilha de recursos no modelo de recurso. Ela é usada internamente para posicionamento e navegação do recurso do UDF. |
_Ts | É uma propriedade gerada pelo sistema. Especifica o último carimbo de data/hora atualizado do recurso. O valor é um carimbo de data/hora. |
_Auto | É uma propriedade gerada pelo sistema. É o URI endereçável exclusivo do recurso. |
_Etag | É uma propriedade gerada pelo sistema que especifica a etag de recurso necessária para o controle de simultaneidade otimista. |
Tarefas
Você pode fazer o seguinte com funções definidas pelo usuário:
Para obter informações sobre como as UDFs funcionam, incluindo a execução de uma UDF em uma consulta, consulte Programação do Cosmos DB: procedimentos armazenados, gatilhos e UDFs.