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

  • XML —> YRL,
  • XML —> YML,
  • YRL —> YML,
  • XML —> json.

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

Конвертация производится при помощи сервиса Garpun Feeds

Рассмотрим процесс создания потока.

Первоначально необходимо зайти в систему Garpun Feeds https://feeds.garpun.com/ под своим логином и паролем и нажать кнопку "+Поток данных".

Алгоритм создания потока

1) Источник данных > Приемник данных

В открывшемся меню выбираем:

  • Источник данных - XML,
  • Приемник данных - Google BQ
  • Указываем набор данных, соответствующий Вашему фиду

    Для создания набора данных обратитесь к команде технической поддержки Garpun




2) Настройка источника данных

  • Указываем URL адрес файла

Пример URL для файла: http://example.com/file
Пример URL с логином/паролем для базовой авторизации: http://username:password@example.com/file
Пример FTP с логином/паролем: ftp://username:password@example.com/folder

  • Указываем кодировку
  • Определяем, файл находится в архиве или нет



3) Настройка приемника данных

  • Выбираем подключение Google BQ, либо добавляем подключение через кнопку "+Добавить"
  • Указываем Project ID в BigQuery
  • Указываем dataset. Не обязательно создавать Dataset вручную в самом BigQuery, можно ввести название вручную - Dataset будет создан автоматически при запуске потока.
  • В качестве способа записи данных в таблицу указываем "перезаписать всю таблицу"
  • Опционально заполняем разделитель и префикс названия таблицы


 

4) Общие настройки

  • В графе “Название потока” ввести название либо оставить сгенерированное автоматически
  • В графе “Период сбора при автоматическом запуске” можно выбрать за какой период поток будет пересобирать статистику. По умолчанию - 30 дней.
  • В графе “Расписание” - выбрать например 7:00 утра, в это время поток будет запускаться ежедневно
  • Нажать "Готово"

Результатом работы потока будет таблица в BQ с полями, указанными в наборе данных:


Дальнейшая работа с данными

После того, как мы распарсили наш фид к этим данным можно обращаться при помощи SQL запросов, а это означает, что можно сделать YRL на основе выбранных данных.

На примере перекладки итогового файла в S3 воспользуемся потоком BQ → S3.

S3 — сервис хранения неструктурированных данных. Внутри можно хранить все что захотим, но в основном используется как файловое хранилище. Каждый файл представлен в виде объекта, сами же объекты лежал в бакетах.
Про его настройки можно отдельно почитать в документации самого сервиса: https://cloud.google.com/storage/docs/introduction


Перед началом работы нужно добавить подключения к BQ и S3(если оно уже организовано, переходим к этапу созданию потока):

Авторизовавшись в системе Garpun переходим в раздел "Подключения"(ссылка), выбираем S3, нажимаем "+подключение".

  • Хост хранилища - расположение хранилища в сети, его настраиваете при работе с хранилищем и хостингом

  • Название подключения - то, как будет называться наше подключение.

  • Идентификатор ключа - ID ключа шифрования в вашем хранилище. Не сам ключ а именно ID, система по этому ID будет отправлять запрос на работу с данными.

  • Секретный ключ - Один из ключей шифрования, который генерируется при помощи статического ключа. Нужен для обращения к данным.

Авторизовавшись в системе Garpun переходим в раздел "Подключения"(ссылка), Выбираем Google BigQuery, нажимаем "+подключение".

  • Нажимаем кнопку подключить
  • Выбираем необходимый аккаунт
  • Нажимаем "Разрешить"
  1. Источник данных > Приемник данных


    В качестве источника выбираем Google BigQuery, в качестве приемника - хранилище S3, в качестве набора данных - "Стандартная выгрузка данных".
  2. Настройка источника данных

    • Выбираем аккаунт для получения данных
    • Выбираем проект, из которого будем брать данные
    • Прописываем SQL запроc
      (info) Используйте плейсхолдеры ${feed.date_from}, ${feed.date_to}, ${feed.datetime_from} и ${feed.datetime_to}, чтобы подставить в запрос период получения данных. Например, WHERE date BETWEEN '${feed.date_from}' AND '${feed.date_to}'
  3. Настройка приемника данных

         

    • Выбираем аккаунт для загрузки данных
    • Название бакета. Инструкция по неймингу бакета для GCS: https://cloud.google.com/storage/docs/buckets#naming, для Yandex Object Storage - https://cloud.yandex.ru/docs/storage/concepts/bucket#naming
    • Выбираем пресет для успешной генерации YRL (YRL_Realty_Feed_XML_Structure). Используем его для генерации из YRL в YRL.
    • Путь к файлу
    • Создавать ли подпапки для партиций. При использовании опции в указанной папке будут созданы подпапки, разбитые по датам.
    • "Использовать динамическое название файла". При включенной опции каждый запуск потока будет создавать в приемнике новый файл по выбранному шаблону
    • Время хранения в днях.

        4. Общие настройки

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

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

Установить расписание

Нажать "Готово"


Как результат, мы имеем YRL с отфильтрованными данными, который можно загружать в системы.

  • No labels