常见问题
为什么我在应用设计态中看不到生成SDK和下载SDK的入口?
应用设计态的生成/下载SDK入口仅对已购买“部署位置”为“SDK”的基础版数据建模引擎的用户展示。如需使用xDM-F SDK,请先前往iDME控制台购买。具体操作请参见开通数据建模引擎。
数据建模引擎运行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部署机器的信息。
- 如果SDK部署机器为本地通用服务器,则需要准备如下信息:
- Windows系统:提供机器MAC地址。
- Linux系统:提供机器的UUID。
- 如果SDK部署机器为容器,则提供容器的ESN。
- 如果SDK部署机器为本地通用服务器,则需要准备如下信息:
如何一键获取数据建模引擎运行SDK部署机器的信息?
如果您已在本地通用服务器/容器中部署了数据建模引擎运行SDK,可通过调用API的方式一键获取部署机器的信息。
http://{部署机器的IP地址}:{部署机器的端口号}/rdm_{应用的唯一标识}_app/services/rdm/basic/api/v1/runtime/sdk/esn
如何查看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的版本信息,即表示部署成功。