Получение данных из web сервисов

Вместе с ETL поставляется модуль получения данных из различных web сервисов с помощью относительно простых http запросов.

Предварительная настройка правила выгрузки

Для получения данных из web сервиса при помощи простого http запроса выполните следующие предварительные действия.

  1. Создайте «Установку правила выгрузки» с новым правилом выгрузки.
  2. Задайте вид правила: «Произвольный код».
  3. Разверните группу формы «Произвольный код».
  4. Перейдите на вкладку «Данные модуля».
  5. В качестве модуля получения данных выберите «WEB сервис».
  6. Нажмите кнопку сохранить.

Открываем мастер настройки простого запроса кнопкой:

Описание настроек мастера

  1. Тип запроса — «POST» или «GET».
  2. Строка запроса — URL ресурса. Для GET запроса можно указать вместе с параметрами запроса.
  3. Таймаут — таймаут запроса в секундах. При превышении интервала — соединение разрывается, а запрос завершается ошибкой.
  4. Вкладка «Параметры» — параметры запроса. Таблица вида ключ-значение. Для «GET»-запроса таблица синхронизирована с URL сервиса, изменения в таблице влияют на URL, изменения URL в части параметров отражаются в таблице. Для «POST»-запроса данная вкладка доступна только при отсутствии тела запроса и по сути заменяет его, содержимое таблицы кодируется как JSON объект и размещается в теле.
  5. Вкладка «Тело запроса» — тело «POST-запроса.
  1. Вкладка «Заголовки» — таблица вида ключ-значение, содержит заголовки запроса.
  2. Кнопка «Типовые заголовки» — добавляет в таблице заголовков типовые заголовки.
  1. Вкладка «Куки» — таблица вида ключ-значение, позволяет сопровождать запрос куками.
    Конвертирует содержимое таблицы в строку вида key1=val1;key2=val2;key3=val3;....
  1. Вкладка «Редирект» — позволяет настроить прараметры редиректа:
    • «Переключатель «Выполнять переход» — включает / отключает функцию редиректа;
    • «Параметр «Максимум переходов» — ограничивает количество переходов при редиректе;
    • «Переключатель «Использовать заголовки основного запроса» — позволяет использовать в запросах перехода заголовки от основного запроса;
    • «Переключатель «Использовать логин и пароль основного запроса» — позволяет использовать в запросах перехода параметры аутентификации основного запроса.
  1. Вкладка «Авторизация» — позволяет настроить параметры авторизации для запроса.

    Поддерживаемые варианты:
  • «Basic access authentication» — логин и пароль;
  • заранее полученный токен. Можно указать имя ключа токена и место его размещения — тело / заголовки.
  • Токен получаемый предварительным запросом. Для этого варианта использования токена, нужно:
    • в секции «Получение»:
      1. поставить переключатель «Требуется автоматическое получение токена» в положение «Включено»;
      2. выбрать тип запроса авторизации «GET / POST»;
      3. указать URL запроса;
      4. можно указать значение логина, имя ключа логина и место его расположения;
      5. можно указать значение пароля, имя ключа пароля и место его расположения;
      6. иИмя ключа того параметра в котором ожидается токен, а также место его расположения.
    • в секции «Использование»:
      1. Указать имя ключа для полученного токена и его местоположение при запросе

Правило

Нижняя часть окна мастера отведена под функции работы с правилом разбора данных.
По кнопке «Открыть в конструкторе» мастер выполнит запрос по ранее настроенным параметрам и откроет полученные данные в конструкторе в режиме просмотра.

Если необходимо выполнить тестовый запрос нужно нажать кнопку:

Если запрос выполнится без ошибок, то мастер предложит сохранить полученные данные в файл.
Если во время выполнения запроса произошла ошибка — будет выведен лог исполнения вместе с подробным описанием ошибки.

Переключатель:

в верхней части окна, позволяет выполнять тестовые запросы в режиме отладки, при котором подробно фиксируются все параметры запроса, и по окончании выполнения показывается окно с полным списком имеющихся параметров.
Окно отладки:

Лог отладки

Лог отладки — инструмент для детального анализа процесса выполнения web запроса. Имеет в своём составе следующие компоненты:

  • «Консоль лога» — список событий с описаниями;
  • «Просмотр значений» — окно просмотра значения отдельных элементов запроса (тело запроса, тело ответа, заголовки запроса, заголовки ответа). Для отображения в окне просмотра значения, его нужно выбрать в списке запросов;
  • «Ответ как веб документ» — диалог для просмотра тела ответа в окне встроенного браузера;
  • «Список запросов» — таблица в которой строки — отдельные запросы, а колонки — значения элементов запроса доступные для просмотра (тело запроса, тело ответа, заголовки запроса, заголовки ответа). Для запроса без редиректа содержит одну строку. Если был осуществлён переход по адресам редиректа, то для каждого перехода (запроса) будет отдельная строка.

Повторное использование настроенного правила запроса к web сервису

По завершению этапа подготовки запроса к web сервису, необходимо настроить поля, которые впоследствии станут колонками в таблице хранилища. Эта таблица предназанчена для хранения даныых полученых из web сервиса.

Настройка повторной выгрузки

  1. Находясь в подготовленном окне запроса к web сервису, нажать кнопку «Открыть в конструкторе», произвести настройку полей и сохранить правило разбора.
  2. Закрыть окно «Конструктора» и окно «Источник данных: Web сервис».
  3. Перейти на вкладку «Настройка параметров». Если всё настроено верно, в данной вкладке отображаются порядка 20 строк параметров.

Стоит обратить внимание на строку 3 «ПравилоРазбора», если она пустая, необходимо перейти в параметры и из выпадающего списка выбрать настроенное ранее правило.

  1. Далее производится стандартная настройка правила выгрузки

Настройка источника

В качестве источника данных для использования в составе выгрузки, необходимо применять настроенный заранее источник и зарегистрировать этот источник в наборе.

Состав выгрузки

По завершению всех настроек, источник и правило получения данных необходимо объединить в состав выгрузки.

Обратите внимание, что при выборе настроенного на web сервис правила, все параметры должны появится на вкладке «параметры запроса” данного состава выгрузки.

По завершению настройки состава, станет возможным многократный запрос к web сервису и сохранение полученных данных в таблицу хранилища.