分析连接

通过分析连接,您能够将外部分析与自己的商业探索集成。通过调用外部计算引擎(当您执行此操作时,计算引擎将充当服务器端扩展 (SSE)),分析连接将扩展您可在加载脚本和图表中使用的表达式。例如,您可以创建用于 R 的分析连接,并在加载数据时使用统计表达式。

创建分析连接

对于 QlikView DesktopQlikView Server (QVS),均通过编辑 Settings.ini 来配置分析连接

备注: 在编辑 Settings.ini 文件之前,必须关闭 QlikView Desktop
在编辑 Settings.ini 文件之前,必须停止 QlikView Server
在新增连接或更改连接之后,需要重启以使更改生效。
备注: 请注意,在启动 QlikView 之前必须运行 SSE 插件服务器,否则将无法建立连接。

执行以下操作:

  1. 打开文件 Settings.ini
    对于 QlikView Desktop,该文件位于 C:\Users\username\AppData\Roaming\QlikTech\QlikView
    对于 QlikView Server,该文件位于 C:\ProgramData\QlikTech\QlikViewServer
  2. 添加以下配置:

    [设置 7]
    SSEPlugin=<PluginConfig>[;<PluginConfig>...]

    其中,<PluginConfig> 是包含以下内容的配置元素的逗号分隔列表:

    <EngineName>,<Address>[,<PathToCertFile>,<RequestTimeout>,<ReconnectTimeout>]

    属性 说明
    <EngineName> 分析连接的名称。必须为唯一。这是将在应用程序中使用的插件的映射/别名。要使用插件功能,必须有 <EngineName>。例如 SSEPython 用于 Python 插件,或者 R 用于 R 插件。
    <Address>

    带两个元素的冒号分隔的列表:

    <Host>:插件的 DNS 名称(或 IP 地址)。

    <Port>:插件在其上进行监听的端口。

    <PathToCertFile> 包含客户端证书的文件夹的文件系统路径,与插件进行安全通信需要使用此证书。该路径直接指向证书所在的文件夹。您必须确保将它们实际复制到该文件夹。三个证书的名称必须如下:root_cert.pemsse_client_cert.pemsse_client_key.pem。仅允许相互认证(服务器和客户端认证)。
    备注: 可选择设置证书文件路径,但是如果省略该步骤,则会造成不安全通信。
    <RequestTimeout> 整数(秒)。可选。默认值为 0(无限)。消息持续时间超时。
    <ReconnectTimeout> 整数(秒)。可选。默认值为 20(秒)。在指向插件的连接丢失后,客户端尝试重新连接至插件的时间。
  1. 打开QlikView Batch Settings.ini 并按照步骤 2 添加相同的配置,以便能够重新加载文档。

    默认位置为 C:\Windows\system32\config\systemprofile\AppData\Roaming\QlikTech\QlikViewBatch

  2. 保存 Settings.ini 文件中的更改后,重新启动 QlikView。现在,通过“编辑表达式”对话框或“加载脚本”对话框添加分析连接后即可使用。

保护分析连接

使用分析连接时,考虑以下最佳实践以增强 QlikView 环境的安全性:

  • 不使用管理员权限,在单独的孤立环境中安装并运行服务器端扩展 (SSE) 插件。为将恶意脚本的危害性降至最低,必须了解启动该插件的用户帐户以及该用户在机器与域中拥有的权限。
  • 为增强安全性,可在 SSE 插件配置文件中将配置参数 allowScript 设置为 false 以禁用 EvaluateScript 功能。这样可以防止 SSE 插件执行任意脚本,而只允许它运行预定义的功能。
  • 建议创建 QlikView 文档的应用程序开发人员将 SSE 表达式中使用的所有变量值设置为限定格式;例如,您可将某个变量值格式限制为仅为数值。

使用分析连接时的限制

创建新的共享服务器对象时,将禁用分析连接功能。

复制包含分析连接表达式的现有工作表对象时,将自动禁用图表属性编辑器。这意味着该工作表对象的图表属性将不再可编辑。

示例

下例介绍了如何设置服务器端扩展 (SSE) 插件。此处使用了一个 Python 插件,并定义了一个或多个服务器。

  • 一个 SSE 插件服务器:SSEPlugin=SSEPython,localhost:50051
  • 两个 SSE 插件服务器:SSEPlugin=SSEPython,localhost:50051;R,localhost:50053
  • 一个 SSE 插件服务器未定义证书路径,但定义了超时设置:SSEPlugin=SSEPython,localhost:50051,,0,20