Meta oder nicht meta, das ist hier die Frage

Hallo Team,

mir passiert es immer wieder, daß ich beim Referenzieren von Variablen oder dem Output anderer Steps manchmal ein meta. davorschreiben muß und manchmal nicht. Z.B. nutze ich einen API Call-Step, in dessen header ich einen Bearer Token eintragen lasse, den ich vorher aus einem SearchDatastore- und anschließenden HTMLWriter-Step hole. In dem Fall steht da dann sowas:
Authorization=Bearer ${TEMPLATE_OUTPUT_STRING@TextHTMLWriter_284!}

Jetzt wollte ich das Ganze stattdessen über einen SpreadsheetUrlDownload-Step machen und wundere mich immer, daß Plenty meint, ich sei nicht authentifiziert. Natürlich hatte ich der Schnelligkeit halber obige Zeile da reinkopiert. Irgendwann kam es mir dann, daß das wohl an diesdem meta liegt, und richtig: Mit
Authorization=Bearer ${meta.TEMPLATE_OUTPUT_STRING@TextHTMLWriter_284!}
hat es dort dann geklappt.

Auch im Mapper und in anderen Steps kann man das ja verwenden - Meine Frage nun, damit ich mir das mal merke: WANN meta und wann NICHT meta? Gibt es da irgendwas Eingängiges oder eine Übersicht?

Danke und Gruß,
Micha
podcomm e-commerce management

1 „Gefällt mir“

Hallo Micha,

ich kann nachvollziehen, dass es auf den ersten Blick etwas verwirrend ist, dass die Variablen mal mit und ohne meta. hinzugefügt werden müssen.
Es gibt aber einen Grund dafür:
Bei allen Steps die ein input vom Typ „Spreadsheet“ haben und es erlauben die Spalten aus dem Input Spreadsheet als Freemarker Variable zu verwenden, benötigten die Flow/Projekt Variablen und Outputs vorheriger Steps den meta. Präfix.
Dadurch sollen Überschneidungen zwischen den Spaltentitel des Input Spreadsheets und Flow/Projekt Variablen und Outputs vorheriger Steps vermieden werden.

Beispiel: Wenn du eine Flow Variable test anlegst und im SpreadsheetUrlDownload (z.B. im requestBody) ein Spreadsheet mit eine Spalte Titel = „test“ verwendest, dann wäre ohne das meta. bei ${test} nicht klar was gemeint ist. Um diese Problem möglichst zu verhindern, wird alles was keine Spalte aus dem Input Spreadsheet ist, mit meta. „gepräfixt“.

Am besten immer über den + Button einfügen. Da sollte es richtig eingefügt werden.

VG Torsten

1 „Gefällt mir“

Hallo Torsten,

danke für die Antwort. DASS es die Notwendigkeit von meta gibt, war mir klar. Ich hätte nur gerne gewußt, wo und wo nicht. Man verwendet beim Codieren ja meistens dieselben Steps, das könnte man sich dann ja merken. Mir fehlt eben eine Übersicht. Das mit dem Hinzufügen ist mir zu hakelig, ich bin ein copy/paster. Könnt ihr denn keine Tabelle erstellen, die aufzeigt, welche Steps einen Input=Spreadsheet haben?