Войти

Управление витриной данных конфигурации установки Лайт через REST API

В витрине предусмотрен модуль, который выступает в качестве REST-сервера. Он позволяет выполнять стандартные запросы для URL с помощью методов:

-      GET (Получение данных. Метод предназначен для получения данных из таблицы или какой-либо строки из таблицы витрины)

-      POST (Добавление/изменение данных. Метод предназначен для заполнения или внесения изменений в данные в одной или нескольких существующих таблиц витрины)

-      DELETE (Удаление данных. Метод предназначен для удаления данных из одной или нескольких существующих таблиц витрины)

Полученные данные модуль REST API передает модулю CSV-uploader, который загружает данные в витрину.

Далее рассмотрим подробнее каждый метод.

GET - Получение данных

URL

protocol://name[:port]/api/csv/[table]

protocol - http;

name - ip или FQDN http-сервера, на котором установлен CSV - uploader.

port - номер tcp-порта;

api/csv - постоянный путь

table – наименование витрины и таблицы, данной витрины, из которой необходимо получать данные.

После указания таблицы может быть указан id – первичный ключ таблицы, по которому необходимо получить данные.

Аутентификция

Не используется

Протокол

http

Входные параметры

Идентификатор конкретного ресурса (числовой или строковый).

Выходные параметры

В случае успешного выполнения http-код ответа равен 200 (OK).

Возвращается стандартный http ответ с хедерами content-type,content-disposition(должен содержать имя csv-файла), и content-length.

http-статус

коды в ответе

200 - в случае успешного выполнения

400 - в случае пользовательской ошибки (сервер не смог обработать запрос, отправленный клиентом из-за неверного синтаксиса/входных данных)

404 - в случае, если не найден ресурс из url

500 - внутренняя ошибка загрузчика

Пример:

http://t5-csv-uploader-01.ru-central1.internal:8080/api/csv/demo_view.passenger/1

В представленном примере:

  • http – протокол передачи данных;
  • t5-csv-uploader-01.ru-central1.internal - имя сервера;
  • 8080 – порт подключения;
  • api/csv/demo_view.passenger - постоянная часть пути до таблицы passengers, в витрине demo_view;
  • 1 - первичный ключ пассажира из таблицы passengers, информацию по которому предполагается получить (в случае если не указан, вернуться все данные из таблицы passengers).

POST - Добавление/изменение данных (1 файл)

URL

http/name[:port]/api/csv/[table]

protocol - http;

name - ip или FQDN http-сервера, на котором установлен CSV - uploader;

port - номер tcp-порта;

api/csv - постоянный путь

table – наименование витрины и таблицы, данной витрины, которую необходимо наполнить данными или внести изменения.

Header

Content-Type: application/octet-stream

Аутентификация

Не используется

Протокол

http

Входные параметры

mimeType: application/octet-stream

файл в формате csv, содержащий данные таблицы.

Выходные параметры

В случае успешного выполнения http-код ответа равен 200 (OK).

http-статус

Код ответа

200 - в случае успешного выполнения

400 - в случае пользовательской ошибки (сервер не смог обработать запрос, отправленный клиентом из-за неверного синтаксиса/входных данных)

500 - внутренняя ошибка загрузчика

Пример:

http://t5-csv-uploader-01.ru-central1.internal:8080/api/csv/demo_view.passenger 

В представленном примере:

  • http – протокол передачи данных;
  • t5-csv-uploader-01.ru-central1.internal - имя сервера;
  • 8080 – порт подключения;
  • api/csv/demo_view.passenger - постоянная часть пути до таблицы passengers, в витрине demo_view в которую необходимо внести изменения.

Файл, содержащий данные, которые требуется добавить/изменить указывается в теле сообщения (тип: file) содержимое csv-файла - demo_view_passenger.csv.

 

POST - Добавление/изменение данных (несколько файлов)

URL

protocol://name[:port]/multipart/csv/null

protocol - http;

name - ip или FQDN http-сервера, на котором установлен CSV - uploader;

port - номер tcp-порта;

multipart/csv/null – постоянный путь для использования нескольких файлов.

Header

Content-Type: multipart/form-data

Аутентификация

Не используется

Протокол

http

Входные параметры

mimeType: multipart/form-data

Пары значений:

Наименование - файл в формате csv, содержащий данные таблицы.

Выходные параметры

В случае успешного выполнения http-код ответа равен 200 (OK).

http-статус

Код ответа

200 - в случае успешного выполнения

400 - в случае пользовательской ошибки (сервер не смог обработать запрос, отправленный клиентом из-за неверного синтаксиса/входных данных)

500 - внутренняя ошибка загрузчика

Пример:

http://t5-csv-uploader-01.ru-central1.internal:8080/api/multipart/csv/null

В представленном примере:

  • http – протокол передачи данных;
  • t5-csv-uploader-01.ru-central1.internal - имя сервера;
  • 8080 – порт подключения.

Файлы, содержащие данные, которые требуется добавить/изменить, указываются в теле сообщения (тип: multipart) содержимое:
file1 - demo_view_passenger(1).csv
file2 - demo_view_passenger(2).csv

 

DELETE - Удаление данных (1 файл)

URL

protocol://name[:port]/api/csv/[table]

protocol - http;

name - ip или FQDN http-сервера, на котором установлен CSV - uploader;

port - номер tcp-порта;

api/csv - постоянный путь

table – наименование витрины и таблицы, этой витрины данные которой необходимо удалить.

Header

Content-Type: application/octet-stream

Аутентификция

Не используется

Протокол

http

Входные параметры

mimeType: application/octet-stream

Путь, по которому находится файл в формате csv, содержащий данные подлежащие удалению.

Выходные параметры

В случае успешного выполнения http-код ответа равен 200 (OK).

http-статус

Код ответа

200 - в случае успешного выполнения

400 - в случае пользовательской ошибки (сервер не смог обработать запрос, отправленный клиентом из-за неверного синтаксиса/входных данных)

500 - внутренняя ошибка загрузчика

Пример:

http://t5-csv-uploader-01.ru-central1.internal:8080/api/csv/demo_view.passenger

В представленном примере:

  • http – протокол передачи данных;
  • t5-csv-uploader-01.ru-central1.internal - имя сервера;
  • 8080 – порт подключения
  • api/csv/demo_view.passenger - постоянная часть пути до таблицы passengers, в витрине demo_view.

Файл, содержащий данные, которые требуется удалить, указывается в теле сообщения (тип: file) содержимое csv-файла - demo_view_passenger.csv.

DELETE - Удаление данных (несколько файлов)

URL

protocol://name[:port]/multipart/csv/null

protocol -http;

name - ip или FQDN http-сервера, на котором установлен CSV - uploader;

port - номер tcp-порта;

multipart/csv/null – постоянный путь для использования нескольких файлов.

Header

Content-Type: multipart/form-data

Аутентификция

Не используется

Протокол

http

Входные параметры

mimeType: multipart/form-data

Пары значений:

Наименование - файл в формате csv, содержащий данные таблицы.

Выходные параметры

В случае успешного выполнения http-код ответа равен 200 (OK).

http-статус

Код ответа

200 - в случае успешного выполнения

400 - в случае пользовательской ошибки (сервер не смог обработать запрос, отправленный клиентом из-за неверного синтаксиса/входных данных)

500 - внутренняя ошибка загрузчика

Пример:

http://t5-csv-uploader-01.ru-central1.internal:8080/api/multipart/csv/null

В представленном примере:

  • http – протокол передачи данных;
  • t5-csv-uploader-01.ru-central1.internal - имя сервера;
  • 8080 – порт подключения.

Файлы, содержащие данные, которые требуется добавить/изменить, указывается в теле сообщения (тип: multipart) содержимое:

file1 - demo_view_passenger(1).csv
file2 - demo_view_passenger(2).csv

Использование Curl для загрузки данных

В примере показан метод POST для загрузки данных в таблицу.

URL

protocol://name[:port]/ api/csv/[table]

protocol -http;

name - ip или FQDN http-сервера, на котором установлен CSV - uploader;

port - номер tcp-порта;

api/csv/– постоянный путь для использования Curl для загрузки данных.

table – наименование витрины и таблицы, данной витрины, которую необходимо наполнить данными или внести изменения.

Header

Content-Type: text/plain

Аутентификация

Не используется

Протокол

http

Входные параметры

Содержимое для загрузки

data-raw

Выходные параметры

В случае успешного выполнения http-код ответа равен 200 (OK).

http-статус

Код ответа

200 - в случае успешного выполнения

400 - в случае пользовательской ошибки (сервер не смог обработать запрос, отправленный клиентом из-за неверного синтаксиса/входных данных)

500 - внутренняя ошибка загрузчика

Пример:

curl --location --request POST
'http://localhost:8080/api/csv/test_para.passenger'
--header 'Content-Type: text/plain'
--data-raw 'code;id;firstname;middlename;lastname;birthday;passport
1;8255bcce-fa66-4915-b805-c06e003bc7fb;33;Васильевич;Кротов;03.12.1992;/test/test.zip
2;2bd4c379-8fa8-40a1-9eb1-1dde12bd6998;Иван;Иванов;Иванович;03.10.1990;/test/image/Picture_10.jpg' 
 
В представленном примере:
  • http – протокол передачи данных;
  • localhost - имя сервера;
  • 8080 – порт подключения;
  • api/csv/test_para.passenger - постоянная часть пути до таблицы passengers, в Витрине test_para.
Авторизуйтесь, чтобы оставить комментарий к статье