【发布时间】:2015-06-09 14:43:14
【问题描述】:
我使用azure-documentdb java SDK 来创建和使用“用户定义函数 (UDF)”
所以从official documentation 我终于找到了关于如何创建 UDF 的方法(使用 Java 客户端):
String regexUdfJson = "{"
+ "id:\"REGEX_MATCH\","
+ "body:\"function (input, pattern) { return input.match(pattern) !== null; }\","
+ "}";
UserDefinedFunction udfREGEX = new UserDefinedFunction(regexUdfJson);
getDC().createUserDefinedFunction(
myCollection.getSelfLink(),
udfREGEX,
new RequestOptions());
这是一个示例查询:
SELECT * FROM root r WHERE udf.REGEX_MATCH(r.name, "mytest_.*")
我只需要创建一次 UDF,因为如果我尝试重新创建现有 UDF 会出现异常:
DocumentClientException: Message: {"Errors":["The input name presented is already taken. Ensure to provide a unique name property for this resource type."]}
我应该如何知道 UDF 是否已经存在? 我尝试使用“readUserDefinedFunctions”功能但没有成功。任何例子/其他想法?
也许从长远来看,我们是否应该在azure feedback 上建议“createOrReplaceUserDefinedFunction(...)”
【问题讨论】:
-
尊敬的照明师@abatishchev 为什么将我的 java 代码更新为 c#?
-
对此感到抱歉。您的问题缺少语言标签。我放错了。
标签: java azure-cosmosdb