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

POC accepting extractor rules and raw telemetry and reposting processed telemetry to dtlab

License

Notifications You must be signed in to change notification settings

DTLaboratory/dtlab-ingest-scala-alligator

Repository files navigation

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

About

POC accepting extractor rules and raw telemetry and reposting processed telemetry to dtlab

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published