Skip to content
This repository was archived by the owner on Jul 1, 2024. It is now read-only.

Latest commit

 

History

History
48 lines (37 loc) · 2.26 KB

README.md

File metadata and controls

48 lines (37 loc) · 2.26 KB

Digital Twin Lab Ingest - Alligator Version

Scala CI Codacy Badge

alt text

This is the data ingestion service for the DtLab system. It unpacks incoming data from its incoming package.

Deconstructed data is closer to the domain- unbiased- and hence makes minimal assumptions on usage - easy to integrate/exploit/build services/self service on top of it

The Ingest Service accepts HTTP posts of JSON documents. The JSON will tend to be observations of the state of some thing in the world -

  • a machine's engine temperature
  • a retail sale transaction completion
  • the new availability of funds from a bank account transaction
  • a door opening
  • a motion detector triggered
  • an approaching asteroid's current speed
  • etc...

The raw data announcing these events tends to be verbose and usually combines multiple observations into a single JSON document. The DTLab Ingest Service decomposes this raw JSON data into telemetry data - name, datetime, numerical value and forwards the telemetry data in a universal DTLab format to DTLab actors.

The steps for defining a new ingest process are:

  1. Define your types in the DTLab API - each value extracted from the incoming JSON must have a property defined in a DtType.
  2. Define the object extractor if your incoming data contains arrays of objects - loading batches of time-series data.
  3. Define the telemetry extractor
    • use the forward name specified in the object extractor
    • define groups of actor paths to the actors that will receive, remember, and act on the extracted telemetry
    • define groups of properties to extract and send to the above paths
  4. Post your JSON
    • possibly from a CRON cURL job polling NASA API hourly
    • possibly from a Kafka consumer
    • possibly from a MQTT consumer

GEN API DOCS

widdershins --environment reference/env.json reference/dtlab-ingest-scala-alligator.v1.yaml reference/README.md