Python版Qlik SSE插件无法正常运行,请求技术排查支持
Qlik Sense SSE HelloWorld Python插件无法正常工作排查方案
问题背景
已按Qlik官方HelloWorld Python SSE示例完成全部配置(证书部署、分析连接设置、脚本文件夹配置等),但出现以下问题:
- 运行
main.py时显示成功连接到指定端口,但命令提示符未输出预期的功能列表 - 打开Qlik Sense的.qvf应用后无内容加载,SSE函数未生效
- 环境:Windows系统,Qlik Sense Enterprise(网页版,最新版本),最新Python版本,SSE采用GitHub仓库版本
排查步骤
1. 证书配置与权限验证
- 确认
main.py中CERTIFICATE_DIRECTORY变量指向的路径与证书文件(client.pem、client_key.pem、root.pem)实际存放路径完全一致 - 检查证书文件夹的Windows权限:右键文件夹→「属性」→「安全」,确保Qlik Sense服务账户(默认
NT SERVICE\QlikSenseService)拥有读取权限 - 手动测试SSL连接:打开命令提示符运行
openssl s_client -connect localhost:<你的SSE端口>,确认无握手错误
2. 分析连接配置细节核对
进入Qlik Sense管理控制台的「分析连接」页面,逐一确认:
- 连接类型为
Qlik Server-side Extension - 主机填写
localhost(SSE服务与Qlik Server同机器时),端口与main.py中设置匹配 - 「文件夹」字段指向HelloWorld脚本所在目录,且该目录同样开放读取权限给Qlik Sense服务账户
- 已勾选「已启用」选项
3. 调试SSE服务输出与Qlik日志
- 修改
main.py添加关键节点日志:在on_connect、get_capabilities函数开头增加print()语句,例如:def get_capabilities(self, request, context): print("Received capabilities request from Qlik Sense") # 原有代码... - 运行
main.py后保持命令提示符打开,观察是否有错误信息或请求日志输出 - 查看Qlik Sense引擎日志:路径默认是
C:\ProgramData\Qlik\Sense\Log\Engine,搜索含SSE或HelloWorld的条目,定位连接或调用失败原因
4. Python环境与依赖检查
- 确认已安装指定版本的依赖包:运行
pip list检查grpcio、grpcio-tools、qlik-sse版本,建议使用示例文档指定的版本(而非最新版)避免兼容性冲突 - 避免Python环境冲突:手动指定Python路径运行
main.py,例如:C:\Users\<你的用户名>\AppData\Local\Programs\Python\PythonXX\python.exe main.py - 验证依赖安装完整性:重新运行
pip install -r requirements.txt(从HelloWorld示例文件夹中执行)
5. Qlik应用脚本调用验证
在Qlik应用加载脚本中添加测试代码,检查脚本日志:
LIB CONNECT TO '<你的分析连接名称>'; TestTable: LOAD HelloWorld('Test') as Greeting AutoGenerate 1;
- 加载脚本时查看编辑器底部的「脚本日志」,检查是否有连接失败、函数未找到等提示
- 尝试使用
CALL HelloWorld('DirectTest');直接调用函数,观察SSE服务的命令提示符是否有输出
6. 防火墙与端口占用排查
- 确认Windows防火墙已允许Python程序通过(运行
main.py时若弹出防火墙提示,选择允许所有网络) - 检查端口占用:运行
netstat -ano | findstr <你的SSE端口>,确认端口未被其他程序占用,若占用则更换SSE端口并同步修改分析连接配置
内容的提问来源于stack exchange,提问作者JT_uhmbt
相关产品推荐
相关产品推荐

