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

如何用Python触发Qlik Sense任务?求步骤与示例代码

用Python触发Qlik Sense QMC任务的分步方案

前提准备

  • 确认Qlik Sense服务器已启用REST API(默认开启,若未启用需在QMC的「Virtual Proxies」中配置允许API访问)
  • 在QMC中生成API密钥:进入「User Directory and Users」,找到对应服务用户,生成并保存API密钥
  • 安装Python依赖:执行 pip install requests

分步实现

1. 获取Qlik Sense会话令牌

调用Qlik API前需通过API密钥获取认证令牌,代码如下:

import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning

# 禁用SSL证书警告(仅测试环境使用,生产环境请配置合法证书)
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

# 核心配置参数
QLIK_SERVER = "https://your-qlik-sense-server"
API_KEY = "your-generated-api-key"
USER_DIRECTORY = "your-user-directory"  # 示例:"INTERNAL"
USER_ID = "your-service-user-id"

# 发送认证请求获取会话令牌
auth_url = f"{QLIK_SERVER}/qrs/about/api-key"
headers = {
    "Content-Type": "application/json",
    "X-Qlik-User": f"UserDirectory={USER_DIRECTORY};UserId={USER_ID}"
}

response = requests.post(auth_url, headers=headers, json={"apiKey": API_KEY}, verify=False)
response.raise_for_status()  # 捕获请求异常
session_token = response.headers.get('X-Qlik-Session')

2. 提取目标任务ID

在QMC中定位要触发的任务:

  • 进入「Tasks」页面,找到目标任务
  • 点击任务名称进入详情页,从浏览器地址栏提取任务ID(格式如 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

3. 编写代码触发任务

使用已获取的会话令牌,发送POST请求触发任务:

# 填入目标任务ID
TASK_ID = "your-task-id-here"

# 任务触发API端点
trigger_url = f"{QLIK_SERVER}/qrs/task/{TASK_ID}/start"

# 构造触发请求头
trigger_headers = {
    "Content-Type": "application/json",
    "X-Qlik-Session": session_token,
    "X-Qlik-User": f"UserDirectory={USER_DIRECTORY};UserId={USER_ID}"
}

# 发送触发请求
trigger_response = requests.post(trigger_url, headers=trigger_headers, verify=False)
trigger_response.raise_for_status()

if trigger_response.status_code == 200:
    print(f"任务 {TASK_ID} 已成功触发")
else:
    print(f"触发任务失败,状态码:{trigger_response.status_code}")

注意事项

  • 生产环境请移除 verify=False,配置合法SSL证书验证
  • 确保服务用户拥有任务执行权限(在QMC中分配「Task Administrator」或对应权限)
  • 若遇权限错误,检查用户权限配置及API密钥有效性

内容的提问来源于stack exchange,提问作者James Bond

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:20:31