Перейти к основному содержимому

Загрузка данных

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

1. Установка и настройка timectl

Для загрузки архива данных и импорта данных в Time понадобится timectl — это CLI-утилита для работы с time-server.

Инструкция по установке:

  • Скачать утилиту timectl под нужную архитектуру процессора: https://data.tinkoff.ru/apps/files/?dir=/time/timectl

  • Авторизоваться через timectl в time-server:

    timectl auth login http://localhost:8065 --name local-server --username sysadmin
  • После в терминале потребуется ввести пароль от учетной записи, указанной в --username (пароль сохраняется локально на компьютере, где запускается timectl).

2. Создание архива

Затем все данные нужно заархивировать в zip-архив:

zip -r data.zip data.jsonl files/

где files — это директория с файлами для сообщений и аватарок.

3. Загрузка архива

  1. Загрузить файл с импортом:

    timectl import upload data.zip
  2. Посмотреть список доступных архивов для импорта:

    timectl import list available

    В терминале должен вывестись загруженный ранее файл в формате {session_id}_{filename}, где session_id выводится в консоли после выполнения предыдущего шага.

4. Импорт данных

  1. Запустить джобу по импорту

    timectl import process 47ri9a7ufpb8jkruxk4w16a37w_data.zip

    В терминале должно вывестись:

    Import process job successfully created, ID: jpkd4ou77prg8c1fqrr3ejsxsr

    где jpkd4ou77prg8c1fqrr3ejsxsr — идентификатор джобы.

  2. Результаты выполнения джобы можно получить командой:

    timectl import job show {job_id}

    где job_id — идентификатор джобы, полученной на предыдущем шаге.

примечание

В случае ошибки, если нужно перезапустить джобу, это можно сделать http-запросом. Выполнение джобы продолжится с момента ошибки. Пример запроса:

curl \
--location \
--request POST http://localhost:8065/api/v4/jobs/{job_id}/rerun \
--header 'Authorization: Bearer {token}'

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