常见问题
为什么我在应用设计态中看不到生成SDK和下载SDK的入口?
xDM-F SDK当前处于试运行阶段,如需使用,请咨询对应销售经理或提交工单咨询处理。
数据建模引擎运行SDK包含了哪些内容?
数据建模引擎运行SDK仅包含runtime的内容,即仅包含xDM-F预置的管理页面和应用运行态的功能,不包含应用设计态的功能。
您可以在您的本地通用服务器中部署数据建模引擎运行SDK并配置License授权文件后使用,也可以将数据建模引擎运行SDK作为JAR包引入到您的代码工程中调用API。
为什么有些应用发布任务不能生成SDK?
xDM-F SDK于2024年6月30日试运行上线,2024年6月30日之前的应用发布任务不支持生成SDK。您可以重新发布应用,待应用发布成功后,即可在该应用发布任务所在行生成SDK。
SDK包的生成逻辑是什么?
生成的SDK包会基于应用发布任务及其发布时配套的iDME版本生成。
如果我想基于最新的iDME版本生成SDK包,要怎么做?
- 如果您的应用发布任务发布成功后,iDME仅进行补丁版本升级,您只需基于此应用发布任务重新单击“生成SDK”,系统会自动使用最新的iDME补丁版本进行更新。
- 如果您的应用发布任务发布成功后,iDME进行版本升级,您需要重新发布应用,待应用发布成功后,再基于此应用发布任务生成SDK。此时,生成的SDK包版本即为最新的iDME版本。
重新生成SDK包,需要更换License文件吗?
升级SDK包版本不需要更换License文件。
什么时候需要更换License文件?
当您存在如下变更场景时,需要更换License文件:
下单后如何获取License文件,需要提供哪些信息?
当您购买的“通用服务器(SDK)”基础版数据建模引擎订单付款成功后,需要通过提交工单的方式申请License文件。在此之前,您需要提前准备如下相关信息:
- SDK所属应用的应用ID(License文件不支持跨应用使用)。
- 已支付订单中购买的用户数量。
- 已支付订单中订阅的时长。
- SDK部署机器的信息,至多支持配置8台机器。
- 如果部署机器是Windows系统,提供机器MAC地址。
- 如果部署机器是Linux系统,提供机器的UUID。
如何查看License文件的可用时长?
当您已将数据建模引擎运行SDK部署至本地通用服务器,并已在配置单点登录时将“XDM_SDK_DEPLOY_ENABLE”设置为“true”,即可以通过如下方式查看License文件的可用时长。
- 方式一:通过可视化页面查看
登录应用运行态后,您可以在页面底部查看License文件可用时长。
图1 查看License文件可用时长
- 方式二:通过API方式查看
调用xDM-F在应用运行态预置的 接口进行查看,更多详情请参见全量数据服务。
如何生成jwt-token?
xDM-F在JSON Web Token(JWT)这种结构化令牌的基础上实现了一套基于用户体系对用户的API进行授权访问的机制,满足用户个性化安全设置的需求。xDM-F支持的jwt-token的加密算法为RSA非对称加密算法,密钥的加密位数推荐为3072。
您可以通过如下方式生成用于jwt-token生成与验证的私钥与公钥。其中,私钥用于授权服务签发JWT,公钥配置到JWT插件中用于API网关对请求验签。
在本地通用服务器中,执行如下命令,生成对应私钥与公钥。
# 生成一个3072位的RSA密钥对 openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:3072 openssl rsa -pubout -in private.key -out public.key # 查看私钥 cat private.key # 查看公钥 cat public.key
如何在本地通用服务器中部署流程运行服务依赖的Node.js环境?
通过流程引擎的流程编排服务生成的流程元模板需要通过Node.js编译后,才能在流程运行服务中启动。如果您的本地通用服务器未部署Node.js,可以参考如下操作进行部署。
准备事项
- 操作系统:Linux系统,本文以CentOS 7.6 64位操作系统为例。
- Node.js:流程运行服务的运行环境,推荐安装Node.js 16.15.0或Node.js 16.20.2版本。
- Python:Node.js的依赖环境,推荐安装Python 2.6或Python 2.7版本,不建议安装Python 3.0及以上版本。
操作步骤
- 登录Linux弹性云服务器。
- 执行如下命令,查看当前ECS是否已经安装Python 2.6或2.7版本。
python --version
- 如果未安装,则依次执行如下命令,安装Python。
wget http://www.python.org/ftp/python/2.6/Python-2.6.tgz
本步骤以下载Python 2.6安装包为例,您可以前往Node.js 官网获取更多安装信息。
tar -xzf Python-2.6.tgz
cd Python-2.6 ./configure --prefix=/usr/local make && make install
ln -sf /usr/local/bin/python2.6 /usr/bin/python2.6
- 如果已安装,则执行3。
- 如果未安装,则依次执行如下命令,安装Python。
- 执行如下命令,下载Node.js Linux 64位二进制安装包。
wget https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz
本步骤以下载Node.js 64位二进制安装包为例,请对应您实际云服务器的规格,前往Node.js 官网获取更多安装信息。
- 执行如下命令,解压安装包。
tar -xf node-v16.20.2-linux-x64.tar.xz
- 依次执行如下命令,创建软链接。
ln -sf /usr/local/node/node-v16.15.0-linux-x64/bin/npm /usr/local/bin/
ln -sf /usr/local/node/node-v16.15.0-linux-x64/bin/node /usr/local/bin/
成功创建软链接后,即可在弹性云服务器任意目录下使用node及npm命令。
- 执行如下命令,查看Node.js及npm版本信息。
node -v
npm -v
显示Node.js的版本信息,即表示部署成功。