你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

用户定义的函数

Azure Cosmos DB 是一个全球分布式多模型数据库,支持文档、图形和键值数据模型。 本部分中的内容用于通过 REST 使用 SQL API (udfs) 管理用户定义的函数资源

用户定义函数 (UDF) 是用 JavaScript 编写的应用程序逻辑的无副作用部分。 它允许开发人员构造查询运算符,从而扩展 Cosmos DB 查询语言的核心。 与存储过程一样,UDF 在集合范围内有效,因此应用程序逻辑的范围将限于该集合。

与存储过程相似,UDF 资源也有固定架构。 body 属性包含应用程序逻辑。 以下示例演示用户定义函数的 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"  
}  
  
属性 说明
id 必需。 它是用户可设置的属性。 它是用于标识 UDF 的唯一名称。 ID 不得超过 255 个字符。
body 必需。 它是用户可设置的属性。 它是 UDF 的主体。
_摆脱 它是系统生成的属性。 资源 ID (_rid) 是一个唯一标识符,也是根据资源模型上的资源堆栈分层的。 它可供内部用于放置和导航 UDF 资源。
_ts 它是系统生成的属性。 它指定资源的上次更新时间戳。 高值是一个时间戳。
_自我 它是系统生成的属性。 它是资源的唯一可寻址 URI。
_Etag 它是系统生成的属性,用于指定乐观并发控制所需的资源 etag。

任务

可以使用用户定义的函数执行以下操作:

有关 UDF 的工作原理(包括在查询中执行 UDF)的信息,请参阅 Cosmos DB 编程:存储过程、触发器和 UDF

另请参阅