В новом Qlik Sense 2.2 представлено значительное улучшение функционала Engine API, удобного инструмента для работы с движком Qlik Sense. Сегодня о нем и поговорим.
Qlik Engine API: что это?
Qlik Engine API — протокол полнодуплексной связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени, который использует JSON. Он организует обмен информацией между Qlik Engine (или движком QIX) и клиентами. Этот API – один из важнейших среди API, которые использует клиент Qlik Sense, но работает совершенно независимо от любой платформы и языка программирования. Единственное условие для работы этого API – поддержка протокола Websocket.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Qlik Sense Developer Help > Qlik Engine API
Где найти
Engine API Explorer – один из инструментов хаба разработчика Qlik Sense.
Открыть его можно несколькими различными способами:
- В хабе Qlik Sense войти в меню и открыть «Dev Hub»
- Запустить десктопную версию Qlik Sense открытьhttp://localhost:4848/dev-hub/ , а затем открыть «Engine API Explorer»
- На сервере Qlik Sense открытьhttp://<server-name>/dev-hub/, и затем открыть «Engine API Explorer»
Шаг 0: Начало работы
Сначала давайте изучим самые важные моменты в работе Engine API Explorer:
0 – Будьте аккуратные, работая с Engine API Explorer, поскольку вы можете изменить работу всех приложений, объектов, листов и объектов. Поэтому прежде – делайте резервные копии данных или работайте с копией приложения.
A – По умолчанию Engine API Explorer не подключен ни к движку, ни к приложению, но именно здесь устанавливается соединение.
B – Если есть активное соединение, здесь отображаются возможные API для каждого объекта.
C – После выбора метода, вы увидите команды здесь
D – После выполнения команды, вы увидите ответ движка в этой области.
Основы работы
Давайте изучим основы работы, например, как подключиться к движку, получить список всех приложений или, например, создать новое приложение.
Шаг 1. Подключение к движку
Первое подключение к движку:
После подключения вы увидите:
Затем вы увидите, что в логах уже есть одна запись «GetDocList», которая заполняет список приложений «Select an app»:
Если вы откроете GetDocList в логах «Execution logs», вы увидите, что было отправлено и получено:
Шаг 2. Получение списка документов
Итак, для лучшего понимания, давайте обратимся к логам и запросим еще раз список существующих приложений:
- Сначала очистим лог:
- Выберем методGetDocList в списке доступных методов для глобальных объектов:
- Поле «Request» будет обновлено соответствующим запросом JSON:
- Нажмем кнопку «Выполнить» (Execute) и посмотрим на результаты (Логи выполнения, «Execution logs»):
Шаг 3. Создание приложения
Теперь давайте создадим новое приложение с названием «Test-App»:
a – Сначала выберем метод CreateApp в глобальном объекте. Вы увидите, что поле «Request» обновилось. Параметр qAppName по умолчанию является пустым.
b – Здесь мы определяем имя приложения. В нашем случае – это «Test-App».
c – Выполнение запроса.
Вот так быстро мы создали новое приложение:
Давайте, проверим, так ли это через GetDocList:
Открыв последний GetDocList (3) и прокрутив ленту вниз, мы увидим, что наше новое приложение, действительно, успешно создано:
Шаг 4. Удаление приложения
Теперь давайте сделаем обратную операцию – удалим, только что созданное приложение:
Это запрос, который формируется по умолчанию, чтобы удалить «Test-App».
- Для удаления документа нам нужно указать qAppId. Если открыть GetDocListв логах выполнения и прокрутить до «Test-App», мы увидим его qDocId:
НА ЗАМЕТКУ:
Я работаю с Qlik Sense Desktop, поэтому в качестве Id здесь представлен полный путь к приложению. Используя Qlik Sense Server, вы увидите уникальный номер.
- Копируем строку с «C:\Users…» и вставляем вqAppId в запросе с удалением.
- Нажимаем «Execute» и удаляем приложение:
Итоги
Ну вот мы и начали знакомство с Engine API Explorer для Qlik. Конечно, у этого API намного больше возможностей, чем были представлено здесь. В следующей статье расскажу вам, что еще интересного можно делать с помощью Engine API Explorer.
Статья не о чем. Это и так понятно. Интересны более сложные примеры, запросы данных и манипулирование с полями.