Input Gateway

Bezstavový server, vstupní RESTful API nadefinované dle popisu Apiary. Vstupní API přijímá push požadavky (většinou HTTP(S) POST) s daty ke zpracování, data validuje a posílá do Message Broker ke zpracování. Realizováno jako Node.js/Express aplikace. Psáno v TypeScript, používá Mongoose a Sequelize ORM pro validaci dat, amqplib pro připojení k RabbitMQ. Testované přes Dredd API testy dle dokumentace Apiary.

Podporovaný formát vstupních dat

  • JSON,
  • XML,
  • CSV

Funkce

  • Validace dat oproti schématu pro každý definovaný endpoint
  • Monitoring počtu entit/řádků v payloadu příchozích dat

Výstup

  • Data jsou zapsána ve zprávě do Message Brokeru (protokol AMQP v0-9-1)
  • Monitoring se provádí do InfluxDB

Kód

gitlab.com/operator-ict/golemio/code/input-gateway

Zde najdete git repozitář s kompletními kódy modulu pod licencí MIT. Tento repozitář zároveň slouží jako primární zdroj pro provozní prostředí datové platformy Golemio. Co publikujeme, sami používáme.

Programátorská dokumentace

operator-ict.gitlab.io/golemio/code/input-gateway/