DEMO-数据服务后置UDF
更新时间: 2025-07-10 18:56:12
阅读 5
数据服务后置UDF开发及应用
适用模块
数据服务,UDF Studio
具体说明
通过对数据服务创建的API添加后置UDF,将原始返回结果进行函数处理,如脱敏,加密等;
使用示例
##### 依赖配置
对应build.gradle文件依赖:
dependencies {
// eds-udf.jar 可通过创建api时,启用后置udf--上传jar包页面下载
compileOnly files("${rootProject.projectDir}/libs/eds-udf.jar")
}
##### 代码示例
package org.demo;
import com.netease.hz.bdms.eds.udf.processing.ProcessingApi;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class PostUdfDemo implements ProcessingApi {
public List<Map<String,Object>> process(HashMap<String, Object> parameter, List<Map<String,Object>> data) {
List<Map<String,Object>> apiResut = new ArrayList<>();
// 遍历原始数据处理逻辑
for(Map<String, Object> row: data) {
Map<String, Object> procRow = new HashMap<>(row);
// 如需针对多个字段进行处理,需在这里自行完善逻辑,样例以对phone_number字段名进行脱敏为例
if(row.containsKey("phone_number")) {
String phoneNumber = (String) row.get("phone_number");
// 脱敏处理逻辑:将手机号的中间四位替换为星号
if (phoneNumber.length() >= 7) {
String maskedPhoneNumber = phoneNumber.substring(0, 3) + "****" + phoneNumber.substring(7);
procRow.put("phone_number", maskedPhoneNumber);
}
}
apiResut.add(procRow);
}
return apiResut;
}
}
数据服务实践
```
测试验证可发现字段名为phone_number内容已经被脱敏显示;
作者:Semon
文档反馈
以上内容对您是否有帮助?