You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Unix版Qlik CLI重新加载Qlik Enterprise任务?

通过Unix服务器SSH触发Qlik Enterprise任务重新加载

Qlik Enterprise没有专门的Unix命令直接触发任务,通常通过调用**Qlik Sense Repository API(QRS API)**实现,在Unix环境下可借助curl工具完成认证和任务触发操作,具体步骤如下:

前提准备

  • 从Qlik Enterprise服务器导出客户端证书包(包含client.pem、client_key.pem、root.pem三个文件),上传至Unix服务器的指定目录,比如~/.qlik/certs/
  • 确认Unix服务器已安装curl(多数系统默认自带)
  • 获取目标任务的ID:可在Qlik管理控制台的任务详情页查看,或通过API查询获取

1. 认证并获取会话令牌

通过证书认证调用QRS接口,获取会话令牌并保存为环境变量:

# 导出会话令牌至环境变量
SESSION_TOKEN=$(curl -s -X POST \
  --cert ~/.qlik/certs/client.pem \
  --key ~/.qlik/certs/client_key.pem \
  --cacert ~/.qlik/certs/root.pem \
  -D - https://<你的Qlik服务器地址>:4242/qrs/about?xrfkey=abcdefghijklmnop | grep "X-Qlik-Session" | awk '{print $2}' | tr -d '\r\n')

说明:xrfkey是Qlik API要求的防伪造密钥,任意16位字符串即可

2. 触发任务重新加载

使用获取到的会话令牌调用任务启动接口,替换<任务ID>为你的目标任务ID:

curl -X POST \
  --cert ~/.qlik/certs/client.pem \
  --key ~/.qlik/certs/client_key.pem \
  --cacert ~/.qlik/certs/root.pem \
  -H "X-Qlik-Session: $SESSION_TOKEN" \
  -H "X-Qlik-Xrfkey: abcdefghijklmnop" \
  https://<你的Qlik服务器地址>:4242/qrs/task/<任务ID>/start?xrfkey=abcdefghijklmnop

请求成功会返回200状态码,任务随即开始执行。

可选:查询任务执行状态

如需确认任务执行结果,可调用状态查询接口:

curl -X GET \
  --cert ~/.qlik/certs/client.pem \
  --key ~/.qlik/certs/client_key.pem \
  --cacert ~/.qlik/certs/root.pem \
  -H "X-Qlik-Session: $SESSION_TOKEN" \
  -H "X-Qlik-Xrfkey: abcdefghijklmnop" \
  https://<你的Qlik服务器地址>:4242/qrs/task/<任务ID>/executionresult?xrfkey=abcdefghijklmnop

注意事项

  • 确保Unix服务器能访问Qlik服务器的4242端口(QRS API默认端口)
  • 证书文件权限需设置为仅当前用户可读:chmod 600 ~/.qlik/certs/*.pem
  • 若Qlik服务器启用OAuth等其他认证方式,需调整认证步骤,但证书认证是命令行场景下最便捷的方式

内容的提问来源于stack exchange,提问作者Antonio Silvestri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 23:48:21