# Expressions

Bei der Konfiguration von Pipelines erlauben gewisse Felder vom Typ Expression die Verwendung von Ausdrücken ("Expressions"). Diese Expressions werden zur Laufzeit durch tatsächliche Werte ersetzt.

Weitere Information können in der Dokumentation der Jinja Templating Sprache (opens new window) nachgeschlagen werden.

Aus Sicherheitsgründen geschieht die Evaluation der Expressions in einer restriktiven "Sandbox"-Umgebung. Aus diesem Grund sind gewissen Funktionalitäten der Jinja Templating Sprache eingeschränkt.

# Beispiel

Konfiguration einer HTTP-Section mit einer Expression:

{
  "section": "HTTP",
  "options": {
    "url": "/path/to/details/{{ item['@id'] }}",
    "foreach": {
      "target_path": ""
    }
  }
}

Die Expression {{ item['@id'] }} wird zur Laufzeit durch tatsächliche Werte ersetzt, basierend auf dem item in der Pipeline.

Angenommen die vorhergehende Section gibt folgende Daten in der Pipeline weiter:

[
  { "@id": 1 },
  { "@id": 2 },
  { "@id": 3 }
]

Dann werden in der HTTP-Section 3 Requests abgesetzt an folgende URLs, die durch das Evaluieren der Expressions entstanden sind:

  • /path/to/details/1
  • /path/to/details/2
  • /path/to/details/3

# Verfügbare Kontext-Variablen

Folgende Variablen können in den meisten Fällen für Expressions verwendet werden:

  • item

    • Das Item in der ETL Pipeline, auf welchem die Section gerade operiert.
    • Typ: Dict
    • Beispiel: {{ item['@id'] }}
  • store

    • Ermöglicht den Zugriff auf die Store-Daten im momentan gesetzten Kontext.
    • Typ: Dict
    • Beispiel: {{ store.store_key }}