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.