Java实现的Senzing REST API服务器。
Senzing API OAS规范 文档详细说明了可用的API方法、参数及响应格式。
构建Senzing REST API服务器需要Apache Maven(推荐3.6.1或更高版本)以及OpenJDK 11.0.x(推荐11.0.6+10或更高版本)。
运行Senzing REST API服务器还需要Senzing产品安装,但构建时不需要。Senzing REST API服务器可以在未安装Senzing的情况下构建(包括运行自动测试)。注意:如果要使用实时Senzing产品而不是缓存的测试数据运行端到端(E2E)自动测试,仍需要Senzing产品。
配置环境。如前所述,API依赖于原生库,环境必须正确配置以找到这些库:
Linux
consoleexport SENZING_G2_DIR=/opt/senzing/g2 export LD_LIBRARY_PATH=${SENZING_G2_DIR}/lib:${SENZING_G2_DIR}/lib/debian:$LD_LIBRARY_PATH
Windows
consoleset SENZING_G2_DIR="C:\Program Files\Senzing\g2" set Path=%SENZING_G2_DIR%\lib;%Path%
确保OpenAPI规范GIT子模块(senzing-rest-api-specification)已克隆:
consolegit submodule update --init --recursive
执行以下命令构建:
consolemvn install
注意:如果要使用实时Senzing产品将自动化测试作为端到端(E2E)测试运行,可以绕过缓存测试数据的重放,直接执行API,使用以下替代构建命令:
consolemvn install -Dcom.senzing.api.test.replay.direct=true
JAR文件将位于target目录中,名称为senzing-api-server-[version].jar,其中[version]是pom.xml文件中的版本号。
使用java -jar执行服务器。假设环境已按照“依赖项”部分正确配置。
启动时必须提供Senzing原生API的初始化参数,可通过以下一种方式提供:
--init-file(指定包含初始化参数的JSON文件路径)--init-json(指定包含初始化参数的JSON文本)--ini-file(指定包含初始化参数的INI文件路径)--init-env-var(指定从中读取JSON文本的环境变量)通常应从初始化参数中排除G2CONFIGFILE路径,以加载为存储库设置的默认配置。仍可指定引用文件系统上配置的G2CONFIGFILE参数;但通过这种方式启动时,配置更改(如默认配置更改)不会自动重新初始化,需手动同步配置并重启Senzing REST API服务器以刷新配置。
其他命令行选项可能也有用。执行
consolejava -jar target/senzing-api-server-3.3.0.jar --help
获取描述所有可用选项的帮助信息。例如:
consolejava -jar senzing-api-server-3.3.0.jar --help
以下是部分常用选项说明:
[ 标准选项 ]
--help
显示帮助信息,服务器不启动。
--version
显示G2 REST API服务器版本,服务器不启动。
--read-only [true|false]
禁用修改实体存储库数据的功能,相关函数返回403 Forbidden响应。默认true(若未指定)。
--> 环境变量:SENZING_API_SERVER_READ_ONLY
--http-port <port-number>
设置HTTP通信端口,默认8250。指定0则随机选择可用端口。若配置SSL客户端认证,则禁止此选项。
--> 环境变量:SENZING_API_SERVER_PORT
--bind-addr <ip-address|loopback|all>
设置HTTP通信绑定地址,默认环回地址。
--> 环境变量:SENZING_API_SERVER_BIND_ADDR
--concurrency <thread-count>
设置用于执行Senzing API函数的线程数,默认8。
--> 环境变量:SENZING_API_SERVER_CONCURRENCY
(完整选项列表可通过--help查看)
示例:在端口8080运行服务器,绑定所有网络接口,并发数16:
consolejava -jar target/senzing-api-server-[version].jar \ --concurrency 16 \ --http-port 8080 \ --bind-addr all \ --init-file ~/senzing/data/g2-init.json
默认情况下,Senzing REST API服务器仅在单个端口上接受HTTP连接,默认HTTP端口8250(可通过--http-port修改)。也可启动仅HTTPS支持或同时支持HTTP和HTTPS(不同端口)。
要启用HTTPS,需通过--key-store选项提供包含服务器私钥的加密PKCS12密钥库,通过--key-store-password提供解密密码。若密钥库包含多个密钥且需使用非第一个密钥,可通过--key-alias指定密钥别名。提供服务器私钥后,HTTPS默认在8263端口启用,可通过--https-port配置。
注意:启用HTTPS后,HTTP默认禁用。可通过显式提供--http-port选项同时启用两者。
示例:使用自签名证书启用HTTPS
创建服务器PKCS12密钥库(sz-api-server-store.p12):
consolekeytool -genkey \ -alias sz-api-server \ -keystore sz-api-server-store.p12 \ -storetype PKCS12 \ -keyalg RSA \ -storepass change-it \ -validity 730 \ -keysize 2048
使用服务器密钥库启动Senzing API服务器:
consolejava -jar senzing-api-server-2.7.0.jar \ --ini-file /etc/opt/senzing/G2Module.ini \ --key-store sz-api-server-store.p12 \ --key-store-password change-it \ --key-alias sz-api-server
使用curl测试(自签名证书需加-k):
consolecurl -k https://localhost:8263/heartbeat
除服务器HTTPS外,还可配置服务器仅接受使用特定SSL证书通信的客户端。若配置SSL客户端认证,则不允许HTTP支持(无法通过HTTP识别客户端),因此禁止--http-port命令行选项。
SSL客户端认证通过--client-key-store(指定包含授权客户端公钥的密钥库)和--client-key-store-password(解密密钥库的密码)配置。
假设已安装Docker,且用户具有运行Docker命令的权限。
需配置Senzing初始化参数(如数据库连接信息),可通过环境变量或挂载配置文件提供。
支持使用外部数据库(如PostgreSQL、MySQL等)存储Senzing数据,需在初始化参数中配置数据库连接信息。
支持主流数据库,具体配置需参考Senzing文档中的数据库连接参数。
示例命令:
consoledocker run -d \ --name senzing-api-server \ -p 8250:8250 \ -e SENZING_API_SERVER_PORT=8250 \ -e SENZING_API_SERVER_BIND_ADDR=all \ -e SENZING_API_SERVER_INIT_JSON='{"PIPELINE":{...}}' \ senzing/senzing-api-server:latest
测试HTTP端点:
consolecurl http://localhost:8250/heartbeat
详见LICENSE。

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速