你当前正在访问 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。