Wie kann ich mithilfe der Taskflow-API Jinja2-Vorlagenparameter an eine Aufgabe übergeben?Python

Python-Programme
Anonymous
 Wie kann ich mithilfe der Taskflow-API Jinja2-Vorlagenparameter an eine Aufgabe übergeben?

Post by Anonymous »

Ich habe eine Aufgabe, die einen ihrer Parameter nicht korrekt wiedergibt, wenn ich ihn als „{{ var.json.my_api_key.api_key }}“ übergebe.:

Code: Select all

@task
def generate_signature_headers(api_key="{{ var.json.knmi_api_key.api_key }}",
hmac_secret_key="{{ var.json.knmi_api_key.hmac_secret_key }}".encode('utf-8')):

hmac_digest_transformed = ...some code..

return {
"Date": now_utc,
"Authorization": f'Signature keyId="{api_key}",algorithm="hmac-sha512",'
f'signature="{hmac_digest_transformed}" ',
}
Der api_key-Parameter wird als Zeichenfolge „{{ var.json.knmi_api_key.api_key }}“ zurückgegeben, ohne gerendert zu werden, aber hmac_secret_key funktioniert wie erwartet.

Alles funktioniert, wenn ich den api_key-Parameter als Variable.get('knmi_api_key', deserialize_json=True)['api_key'], aber dadurch wird jedes Mal, wenn der Tag geparst wird, eine Verbindung zur Metastore-Datenbank hergestellt.
Wie kann ich den Parameter mit der Jinja2-Templating-Engine übergeben?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post