Zum Inhalt

Verwendung von Projekt-Zugriffstoken

In dieser Anleitung erfährst Du, wie Du mit Projekt-Zugriffstoken programmgesteuert mit DATAMIMIC-Projekten interagierst. Dieser Ansatz ermöglicht es Dir, Deine Projekte zu verwalten und Daten per API-Aufruf zu generieren – besonders nützlich für Automatisierung und CI/CD-Pipelines.

Voraussetzungen

  • Sieh Dir die DATAMIMIC External API-Referenz an oder rufe die external_api_docs Deiner DATAMIMIC-Instanz auf, um die API-Endpunkte und deren Nutzung zu verstehen
  • Ein DATAMIMIC-Projekt
  • curl auf Deinem System installiert
  • jq (optional) auf Deinem System installiert (für die Verarbeitung von JSON-Artefakten)

Erste Schritte

  1. Klone das Demo Basic JSON aus dem DATAMIMIC Demo Store.
  2. Füge für dieses neu geklonte Demo-Projekt ein neues Projekt-Zugriffstoken hinzu.
  3. Notiere Dir sowohl die Projekt-ID als auch das neue Projekt-Zugriffstoken.

Grundlegende Operationen

Metadaten der Projektdateien auslesen

Um alle Metadaten Deiner Projektdateien zu erhalten:

1
2
3
4
curl -X 'GET' \
  'https://your-datamimic-instance/api/v1/{project-id}/files' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {your-project-access-token}'

Inhalt einer Projektdatei auslesen

Um den Inhalt einer Projektdatei zu erhalten:

1
2
3
4
curl -X 'GET' \
  'https://your-datamimic-instance/api/v1/{project-id}/files/{file-name}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {your-project-access-token}'

Projektdatei erstellen

Um eine neue Projektdatei zu erstellen, kannst Du den curl-Befehl mit dem -F-Flag verwenden, um den Inhalt einer lokalen Datei direkt hochzuladen, anstatt den Inhalt inline anzugeben.

Note

Eine neue Datei kann nur erstellt werden, wenn sie im Projekt noch nicht existiert. Andernfalls musst Du die bestehende Datei aktualisieren.

1
2
3
4
5
6
curl -X 'POST' \
  'https://your-datamimic-instance/api/v1/{project-id}/files' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {your-project-access-token}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@<lokaler-dateipfad>;type=text/xml'

Projektdateien aktualisieren

Nimm die gewünschten Änderungen an Dateiinhalten lokal vor und aktualisiere sie dann im System.

Note

Eine Datei kann nur aktualisiert werden, wenn sie bereits im Projekt existiert. Falls nicht, musst Du sie zuerst erstellen.

Um den Inhalt einer Datei zu aktualisieren:

1
2
3
4
5
6
curl -X 'PUT' \
  'https://your-datamimic-instance/api/v1/{project-id}/files/{file-name}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {your-project-access-token}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@<lokaler-dateipfad>;type=text/xml'

Projektdatei löschen

Um eine Projektdatei zu löschen:

1
2
3
4
curl -X 'DELETE' \
  'https://your-datamimic-instance/api/v1/{project-id}/files/{file-name}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {your-project-access-token}'

Daten generieren

Um die Datengenerierung auszulösen:

1
2
3
4
5
curl -X 'POST' \
  'https://your-datamimic-instance/api/v1/{project-id}/generate' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {your-access-token}' \
  -d '{"task_type": "standard"}'

Dieser Aufruf gibt eine Task-ID zurück, mit der Du den Fortschritt der Generierung verfolgen und Artefakte herunterladen kannst.

Generierte Daten herunterladen

Um generierte Artefakte herunterzuladen und anzuzeigen:

1
2
3
4
curl -X 'GET' \
  -H 'Authorization: Bearer {your-project-access-token}' \
  'https://your-datamimic-instance/api/v1/{project-id}/task/{task-id}/artifact/download/{artifact-file-name}' \
  -o person.json && jq . person.json

Oder Du kannst auch alle von der Aufgabe erzeugten Artefakte als einzelne ZIP-Datei herunterladen:

1
2
3
4
curl -X 'GET' \
  -H 'Authorization: Bearer {your-project-access-token}' \
  'https://your-datamimic-instance/api/v1/{project-id}/task/{task-id}/artifact/download' \
  -o artifacts.zip

Beispiel-Workflow

Hier ein vollständiges Beispiel für einen typischen Workflow:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Setze Deine Variablen
PROJECT_ID="dein-projekt-id"
ACCESS_TOKEN="dein-access-token"
API_BASE="https://your-datamimic-instance/api/v1"

# Aktuelle Konfiguration auslesen
curl -X 'GET' \
  "${API_BASE}/${PROJECT_ID}/files" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H 'accept: application/json'

# Nimm Änderungen an datamimic.xml nach Bedarf vor

# Konfiguration aktualisieren
curl -X 'PUT' \
  "${API_BASE}/${PROJECT_ID}/files/datamimic.xml" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H 'Content-Type: multipart/form-data' \
  -F '[email protected];type=text/xml'


# Daten generieren
TASK_ID=$(curl -X 'POST' \
  "${API_BASE}/${PROJECT_ID}/generate" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{"task_type": "standard"}'

# Informationen zur Aufgabe abfragen
curl ${API_BASE}/${PROJECT_ID}/task/${TASK_ID}" \
  -H 'accept: application/json' \
  -H "Authorization: Bearer ${ACCESS_TOKEN}"

# Mit der task_id kannst Du auch alle von der Aufgabe erzeugten Artefakte als ZIP-Datei herunterladen

curl ${API_BASE}/${PROJECT_ID}/task/${TASK_ID}/artifact/download \
  -H 'accept: application/json' \
  -H "Authorization: Bearer ${ACCESS_TOKEN}"
  -J -O 

Note

Ersetze in allen Beispielen your-datamimic-instance, {project-id}, {task-id} und {your-access-token} durch Deine tatsächlichen Werte.

Tipps

Du kannst die external_api_docs aufrufen, um die API-Endpunkte einzusehen. Diese enthalten klare Beispiele und Dokumentation in unserer Swagger UI, mit der Du die API-Endpunkte direkt ausprobieren kannst.

Mit der Swagger UI kannst Du auch den passenden curl-Befehl für die API-Endpunkte anzeigen lassen. Das erleichtert das Verständnis und die Nutzung der API-Aufrufe.

Zusammenfassung

In dieser Anleitung hast Du gelernt, wie Du mit Projekt-Zugriffstoken programmgesteuert mit DATAMIMIC-Projekten interagierst. Hier eine Zusammenfassung der wichtigsten Konzepte und Operationen:

  1. Einrichtung und Authentifizierung:

    • Ein DATAMIMIC-Projekt erstellt/genutzt
    • Ein Projekt-Zugriffstoken generiert
    • Das Token für die API-Authentifizierung verwendet
  2. Grundlegende Operationen:

    • Projektdateien per GET-Anfrage ausgelesen
    • Dateiinhalte per POST-Anfrage aktualisiert
    • Datengenerierung ausgelöst
    • Generierte Artefakte heruntergeladen und angezeigt
  3. Workflow-Integration:

    • Gelernt, wie man Operationen zu einem vollständigen Workflow kombiniert
    • Umgebungsvariablen für die Konfiguration genutzt
    • Grundlegende Automatisierungsmuster implementiert

Diese API-Operationen ermöglichen es Dir, das Management von DATAMIMIC-Projekten zu automatisieren und in Deine Entwicklungs-Workflows, CI/CD-Pipelines oder eigene Anwendungen zu integrieren.