# 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 }}
# Filters
Expressions unterstützen die Builtin Filters (opens new window) der Jinja Template Engine. Zusätzlich können nachfolgende Filter verwendet werden.
# fromjson
fromjson(value)
Der fromjson
Filter wird zum Parsen eines JSON Strings verwendet.
# chain
chain(value)
Der chain
Filter wird verwendet um mehrere Liste aneinander zu hängen.
>>> [[1, 2], [3, 4]]|chain
[1, 2, 3, 4]
# zip
zip(value)
Der zip
-Filter kombiniert Elemente aus mehreren Listen.
Beispiel:
>>> [["a", "b", "c"], [1, 2, 3]] | zip
[("a", 1), ("b", 2), ("c", 3)]
# nossikon
nossikon(value)
Mit dem nossikon
-Filter wird Text mit der Nossikon Schriftart dargestellt.
Diese Schriftart ist für historische Phonetische Zeichen optimiert.