Определенные пользователем функции

Azure Cosmos DB — это глобально распределенная многомодедельная база данных, которая поддерживает модели данных документов, графов и "ключ—значение". Содержимое этого раздела предназначено для управления определяемыми пользователем ресурсами функций (UDFS) с помощью API SQL через REST.

Определяемая пользователем функция (UDF) — это часть логики приложения без побочных эффектов, написанная на JavaScript. Это позволяет разработчикам создавать оператор запроса, расширяя таким образом ядро языка запросов Cosmos DB. Подобно хранимым процедурам, определяемые пользователем функции содержатся в пределах коллекции, тем самым ограничивая логику приложения до пределов коллекции.

Подобно хранимым процедурам, у ресурса определяемых пользователем функций есть фиксированная схема. В тексте свойства содержится логика приложения. В следующем примере показана конструкция json определяемой пользователем функции.

{  
"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"  
}  
  
Свойство Описание
идентификатор Обязательный. Это настраиваемое пользователем свойство. Уникальное имя для идентификации определяемой пользователем функции. Длина идентификатора не должна превышать 255 символов.
body Обязательный. Это настраиваемое пользователем свойство. Это тело определяемой пользователем функции.
_rid Это свойство, созданное системой. Идентификатор ресурса (_rid) — это уникальный идентификатор, который также является иерархическим для стека ресурсов в модели ресурсов. Используется внутри системы для расположения и навигации к ресурсу определяемой пользователем функции.
_Ts Это свойство, созданное системой. Оно представляет метку времени последнего обновления ресурса. Значение — метка времени.
_Самостоятельно Это свойство, созданное системой. Это уникальный адресуемый URI для ресурса.
_etag Это созданное системой свойство, указывающее тег ресурса, необходимый для управления оптимистическим параллелизмом.

Задания

С помощью определяемых пользователем функций можно выполнить следующие действия:

Сведения о том, как работают определяемые пользователем функции, включая выполнение определяемой пользователем функции в запросе, см. в статье Программирование в Cosmos DB: хранимые процедуры, триггеры и определяемые пользователем функции.

См. также: