oydeu/srv-pia_write

Sponsored OSS

By oydeu

Updated over 6 years ago

Service zum Schreiben von strukturierten Daten in den Datentresor.

Image
Security
API management
Databases & storage
0

1.9K

oydeu/srv-pia_write repository overview

Dieses Service liest eine JSON-Struktur von STDIN und schreibt sie anhand der übergebenen Parameter in einen Datentresor.

Verwendung

Führe folgenden Befehl aus, und übergib Zugangsdaten samt Konfiguration als JSON:

cat input.json | docker run -i --rm oydeu/srv-pia_write /bin/run.sh \
    '{"pia_url":"http://1.2.3.4:5678","app_key":"eu.ownyourdata.repo","app_secret":"secret","merge":["field1","field2"],"map":[{"date":"date"},{"field_1":"field1|sub1"}]}'

Wichtig dabei: es darf kein Leerzeichen in dem JSON vorkommen, da sonst Docker die übergebene Zeichenfolge als mehrere Argumente interpretiert.

Die Zugangs- und Konfigurationsdaten haben folgende Attribute:

  • pia_url (erforderlich): Adresse des Datentresors, z.B.: https://data-vault.eu
  • app_key (erforderlich): eindeutige Identifikation der App, mit dessen Berechtigungen die Daten geschrieben werden sollen
  • app_secret (erforderlich): Passwort zur App
  • repo (erforderlich): Liste (Repo) in welche die Daten geschrieben werden sollen; die angegebene App (key) muss Schreibrechte auf diese Liste besitzen
  • repo_ame (optional): Name der Liste (Repo) der bei der Erstellung verwendet werden soll
  • partial (optional): falls nur ein Subset der eingelesenen Daten in den Datentresor geschrieben werden soll, kann hier der Name des übergeordneten Knoten im JSON angegeben werden
  • delete (optional): mit "delete":"all" kann der Inhalt der angegebenen Liste (Repo) vor dem Import gelöscht werden
  • map (erforderlich): eine Liste mit Key-Value Paaren die die Zuordnung der Feldnamen aus STDIN zur Struktur im Datentresor beschreibt
  • merge (optional): falls Teile der Daten aus STDIN bereits im Datentresor vorhanden sind, kann hier eine Feldliste übergeben werden; Datensätze aus STDIN bei denen alle Felder der Feldliste mit vorhanden Daten im Datentresor übereinstimmen, werden nicht übernommen; falls merge nicht übergeben wird, werden alle Daten ohne Prüfung auf Duplikate in den Datentresor geschrieben

Beispiel

Dieses Service übernimmt üblicherweise die Daten eines anderen OwnYourData Services, das Datenquellen erschließt. Im folgenden Beispiel werden Kontodaten eingelesen und dann in den Datentresor geschrieben. Für eine bessere Übersicht werden die Konfigurationsdaten in 2 JSON Dateien ausgelagert.

Zugangsdaten für Easybank - credentials.json

{
    "bank":     "easybank",
    "username": "123456",
    "password": "12345geheim",
    "account":  "AT121420020010123456"
}

Warnhinweis: Starte dieses Docker Image nur auf deinem eigenen (vetrauenswürdigen) Computer und stelle sicher, dass die Zugangsdaten zu deinem Bankkonto niemals öffentlich werden! Wir haben bei der Entwicklung größtmögliche Sorgfalt angewendet, und durch die Verwendung von Docker, werden deine Zugangsdaten auch nur temporär verwendet, bevor sie mit dem Container nach der Ausführung wieder entfernt werden.

Konfiguration zum Schreiben der Umsätze - bookings.json

{
    "pia_url":     "http://1.2.3.4:8080/",
    "app_key":     "eu.ownyourdata.bank",
    "app_secret":  "1234567890AaBbCcDdEe",
    "repo":    "eu.ownyourdata.bank.easybank",
    "partial": "bookings",
    "merge":[
        "date",
        "value",
        "descriptionOrig"
    ],
    "map":[
        { "date":            "date" },
        { "description":     "description" },
        { "descriptionOrig": "other|original" },
        { "value":           "amount" }
    ]
}

Befehl zum Lesen der Kontodaten und Schreiben in den Datentresor:

cat credentials.json | \
docker run -i --rm oydeu/srv-bank /bin/run.sh | \
docker run -i --rm oydeu/srv-pia_write /bin/run.sh \
    "$(cat bookings.json | tr -d '\040\011\012')"
_

Mehr Infos unter: https://www.ownyourdata.eu/
Github Repository: https://github.com/OwnYourData/service-pia_write/
Dockerfile: https://github.com/OwnYourData/service-pia_write/blob/master/docker/srv-pia_write/Dockerfile

Tag summary

Content type

Image

Digest

Size

381 MB

Last updated

over 6 years ago

docker pull oydeu/srv-pia_write

This week's pulls

Pulls:

147

Last week