Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Mit einem geheimen Schlüssel inAWS Secrets Managerfür eine Apache Airflow-Variable
Die folgenden BeispielaufrufeAWS Secrets Managerum einen geheimen Schlüssel für eine Apache Airflow-Variable in Amazon Managed Workflows for Apache Airflow abzurufen. Es wird davon ausgegangen, dass Sie die Schritte in abgeschlossen habenKonfiguration einer Apache Airflow-Verbindung mithilfe eines Geheimnisses AWS Secrets Manager.
Version
-
Der Beispielcode auf dieser Seite kann verwendet werden mitApache Airflow v1inPython 3.7
.
-
Sie können das Codebeispiel auf dieser Seite verwenden mitApache Airflow v2 und höherinPython 3.10
.
Voraussetzungen
Um den Beispielcode auf dieser Seite verwenden zu können, benötigen Sie Folgendes:
-
Das Secrets Manager-Backend als Apache Airflow-Konfigurationsoption, wie gezeigt inKonfiguration einer Apache Airflow-Verbindung mithilfe eines Geheimnisses AWS Secrets Manager.
-
Eine Apache Airflow-Variablenzeichenfolge in Secrets Manager, wie gezeigt inKonfiguration einer Apache Airflow-Verbindung mithilfe eines Geheimnisses AWS Secrets Manager.
Berechtigungen
-
Secrets Manager-Berechtigungen wie gezeigt inKonfiguration einer Apache Airflow-Verbindung mithilfe eines Geheimnisses AWS Secrets Manager.
Voraussetzungen
-
Um dieses Codebeispiel mit Apache Airflow v1 zu verwenden, sind keine zusätzlichen Abhängigkeiten erforderlich. Der Code verwendet dieApache Airflow v1-Basisinstallation
auf deine Umgebung.
-
Um dieses Codebeispiel mit Apache Airflow v2 zu verwenden, sind keine zusätzlichen Abhängigkeiten erforderlich. Der Code verwendet dieApache Airflow v2-Basisinstallation
auf deine Umgebung.
Codebeispiel
In den folgenden Schritten wird beschrieben, wie Sie den DAG-Code erstellen, der Secrets Manager aufruft, um das Geheimnis abzurufen.
-
Navigieren Sie in der Befehlszeile zu dem Verzeichnis, in dem Ihr DAG-Code gespeichert ist. Beispiele:
cd dags
-
Kopieren Sie den Inhalt des folgenden Codebeispiels und speichern Sie ihn lokal unter
secrets-manager-var.py
.from airflow import DAG from airflow.operators.python_operator import PythonOperator from airflow.models import Variable from airflow.utils.dates import days_ago from datetime import timedelta import os DAG_ID = os.path.basename(__file__).replace(".py", "") DEFAULT_ARGS = { 'owner': 'airflow', 'depends_on_past': False, 'email': ['airflow@example.com'], 'email_on_failure': False, 'email_on_retry': False, } def get_variable_fn(**kwargs): my_variable_name = Variable.get("test-variable", default_var="undefined") print("my_variable_name: ", my_variable_name) return my_variable_name with DAG( dag_id=DAG_ID, default_args=DEFAULT_ARGS, dagrun_timeout=timedelta(hours=2), start_date=days_ago(1), schedule_interval='@once', tags=['variable'] ) as dag: get_variable = PythonOperator( task_id="get_variable", python_callable=get_variable_fn, provide_context=True )
Als nächstes
-
Erfahren Sie, wie Sie den DAG-Code in diesem Beispiel auf die
dags
Ordner in Ihrem Amazon S3-Bucket inHinzufügen oder Aktualisieren von DAGs.