Calling Qliksense Repository API from Apache Drill via sql

Abstract I’ll show how to connect to Qliksense Repository API via sql using Apache Drill. In this example Qliksense engine service runs at https://qlik.redaelli.org:4242/ Download Download and unzip Apache Drill from https://drill.apache.org/download/ Configure Create or edit the file conf/storage-plugins-override.conf "storage": { "qliksense" : { "type" : "http", "cacheResults" : true, "connections" : { "p4242" : { "url" : "http://nginx.redaelli.org/qlik/", "method" : "GET", "authType" : "none", "userName" : null, "password" : null, "postBody" : null, "params" : ["filter"], "dataPath" : null, "requireTail" : true, "inputType" : "json", "xmlDataLevel" : 1 } }, "proxyType" : "direct", "enabled" : true } } At the moment Apache drill cannot query external rest services with client certificates DRILL-8052 and so we need a reverse proxy like Nginx....

February 23, 2022 · 2 min · 271 words · Matteo Redaelli

Parsing qliksense healthcheck api results

Abstract When you do a stress test/troubleshooting of a qliksense node it is useful to collect the responses of the healthcheck api and extract some useful info from them (which and how many applications were loaded in memory, …) Collecting data I usually use the command line tool qsense for querying the Qliksense repository while [ 1 ] do qsense healthcheck qlikhost1.redaelli.org ~/certificates/qlik/client.pem >> healthcheck.jl sleep 60 done Each line of the file healthcheck....

September 15, 2021 · 3 min · 445 words · Matteo Redaelli

GraphQL datasource for Qliksense

Qliksense datasource for GraphQL Apollo server apollo-datasource-qliksense is a Qliksense datasource for the GraphQL Apollo server. “Apollo is the industry-standard GraphQL implementation, providing the data graph layer that connects modern apps to the cloud.” Installation npm install apollo-datasource-qliksense Usage Below a very basic sample File index.js file: const resolvers = require('./resolvers'); const { ApolloServer, gql } = require('apollo-server'); const { makeExecutableSchema } = require('graphql-tools'); const { QliksenseDataSource } = require('apollo-datasource-qliksense'); const qliksense = new QliksenseDataSource("https://myqlikserver....

March 27, 2021 · 1 min · 202 words · Matteo Redaelli

qsense python library and comamnd line tool for qliksense

qSense qsense is an python library and command line tool for qliksense Some useful commands export_remove_old_apps Export (published or passing any other filter) applications to qvd files qsense export_delete_old_apps qliksense.redaelli.org ~/certificates/client.pem --target_path '/tmp' --modified_days=300 --last_reload_days=300 deallocate_analyzer_licenses_for_professionals Deallocate analyzer license fom users with a professional license qsense deallocate_analyzer_licenses_for_professionals qliksense.redaelli.org ~/certificates/client.pem --nodryrun delete_removed_exernally_users Delete users that were removed externally (from active directory?) qsense delete_removed_exernally_users qliksense.redaelli.org ~/certificates/client.pem GROUP --nodryrun

March 16, 2021 · 1 min · 66 words · Matteo Redaelli

Using a GraphQL gateway for backend services (Active Directory, AWS and Qliksense Api samples)

Complex web sites read and write data from/to several backend systems using different interfaces (sql, soap , rest, rpc,..). But it could be simpler and useful to create a single endpoint and interface for all the backends. With GraphQL the frontend applications get from the backends only the list of fields they need and do not receive the static list of the fields provided by the soap/rest services. I played with graphql and Walmart lacinia implementing one GraphQL backend for LDAP/Active Directory and one for Qliksense Repository rest api....

October 11, 2020 · 2 min · 253 words · Matteo Redaelli