Zum Inhalt

Datenquellen

DATAMIMIC unterstützt mehrere Datenquellentypen zum Lesen und Schreiben von Daten.

Datenquellen-Übersicht

Quellentyp Lesen Schreiben Encoding-Konfiguration Trennzeichen-Konfiguration
Projektdateien Via UI Automatisch erkannt Automatisch erkannt
Objektspeicher Konfigurierbar Konfigurierbar
Datenbanken N/A N/A
MongoDB N/A N/A
Kafka Konfigurierbar N/A

Projektdateien

Dateien innerhalb deines Projekts (hochgeladen über UI):

1
<generate name="customers" source="data/customers.ent.csv" target="mem"/>
  • Upload: Beliebige Kodierung/Trennzeichen (automatisch erkannt)
  • Download: Verwendet Projekteinstellungen (Kodierung + Trennzeichen)
  • Unterstützte Typen: .ent.csv, .wgt.csv, .optl.csv, .xml, .json
  • Hinweis: Alle Spalten aus der Datei sind bereits im Kontext. <key> nur zum Überschreiben/Hinzufügen.

Beliebiges Format hochladen

Du kannst CSV-Dateien mit beliebiger Kodierung oder Trennzeichen hochladen. Die Plattform erkennt und konvertiert sie automatisch.

Objektspeicher

Externe Dateien von S3, Azure Blob oder MinIO:

1
2
3
4
5
6
7
8
<object-storage id="s3" />

<generate name="legacy"
          source="s3"
          bucket="imports"
          sourceUri="data/legacy.csv"
          encoding="windows-1252"
          separator=","/>
  • Encoding: Konfigurierbar über encoding-Attribut
  • Trennzeichen: Konfigurierbar über separator-Attribut
  • Anwendungsfall: Legacy-Systeme, gemeinsame Daten, große Dateien

Kurzüberblick (Lesen vs Schreiben)

Szenario Attribut(e) Bedeutung
Lesen aus Objektspeicher source + sourceUri source wählt Client‑ID; sourceUri ist Objektpfad
Schreiben in Objektspeicher storageId + exportUri storageId wählt Client; exportUri ist nur Pfad/Prefix

Objektspeicher-Attribute (Lesen)

Attribut Beschreibung Pflicht
source Object-Storage-Client-ID (<object-storage id="...">) Ja
bucket / container Bucket (S3/MinIO) oder Container (Azure) Ja
sourceUri Pfad/Objekt im Bucket Ja
encoding Zeichencodierung Nein (Standard: UTF-8)
separator CSV-Trennzeichen Nein (Standard: aus Runtime)

Objektspeicher schreiben

Für Datei‑Exporter (CSV/JSON/XML/Template) wählst Du den Storage‑Client über storageId und den Ziel‑Pfad über exportUri. exportUri ist nur Pfad/Prefix; Dateiname kommt aus name oder targetEntity, Endung aus dem Exporter.

1
2
3
4
5
6
7
8
9
<object-storage id="s3" />

<generate name="orders_export"
          target="CSV"
          storageId="s3"
          bucket="exports"
          exportUri="daily/">
  <key name="id" generator="IncrementGenerator"/>
</generate>

Datenbanken

SQL-Datenbanken (PostgreSQL, Oracle, MySQL, MSSQL):

1
2
3
4
5
6
<database id="source" system="production_db" />

<generate name="customers"
          source="source"
          selector="SELECT * FROM customers">
</generate>
  • Encoding: Wird vom Datenbanktreiber verwaltet
  • Anwendungsfall: Live-Daten, transaktionale Systeme

Datenbank-Attribute

Attribut Beschreibung Pflicht
source Datenbank-Client-ID Ja
selector SQL-Abfrage Ja (oder Tabellenname verwenden)
type Zieltabelle für Iteration Nein

MongoDB

Dokumentendatenbank:

1
2
3
4
5
6
<mongodb id="mongo" system="mongodb" />

<generate name="orders"
          source="mongo"
          selector="find: 'orders', filter: {'status': 'active'}">
</generate>

MongoDB-Operationen

Operation Selector-Format
Find find: 'collection', filter: {...}
Aggregate aggregate: 'collection', pipeline: [...]

Kafka

Nachrichtenstreaming:

1
2
3
<kafka-importer id="events" system="kafka" />

<generate name="events" source="events"/>
  • Encoding: Konfigurierbar über Umgebungseinstellungen
  • Anwendungsfall: Echtzeit-Daten, Event-Verarbeitung

Zukünftige Quellen

Geplante Unterstützung für:

  • FTP/SFTP
  • HTTP/REST APIs
  • WebDAV

Datenquelle auswählen

Szenario Empfohlene Quelle
Statische Referenzdaten Projektdateien
Große externe Datensätze Objektspeicher
Live-Transaktionsdaten Datenbank
Dokumentdaten MongoDB
Echtzeit-Events Kafka
Legacy-Systeme mit spezifischer Kodierung Objektspeicher

Encoding-Priorität

Beim Lesen aus externen Quellen wird das Encoding in dieser Reihenfolge aufgelöst:

Priorität Quelle Beispiel
1 Element-Attribut encoding="windows-1252"
2 Setup-Standardwerte <setup defaultEncoding="ISO-8859-1">
3 Runtime-Konfiguration (UI) Einstellungen → Runtime-Konfiguration
4 Fallback UTF-8

Trennzeichen-Priorität

Für CSV-Quellen wird das Trennzeichen in dieser Reihenfolge aufgelöst:

Priorität Quelle Beispiel
1 Element-Attribut separator=";"
2 Setup-Standardwerte <setup defaultSeparator=";"/>
3 Runtime-Konfiguration (UI) Einstellungen → Runtime-Konfiguration
4 Fallback Pipe (\|)