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.
Verwendung eines geheimen Schlüssels AWS Secrets Manager für eine Apache Airflow Airflow-Variable
Das folgende Beispiel ruft AWS Secrets Manager auf, um 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 unter abgeschlossen haben. Konfiguration einer Apache Airflow Airflow-Verbindung mithilfe eines Geheimnisses AWS Secrets Manager
Version
Sie können das Codebeispiel auf dieser Seite mit Apache Airflow v2 in Python 3.10
Voraussetzungen
Um den Beispielcode auf dieser Seite zu verwenden, benötigen Sie Folgendes:
-
Das Secrets Manager Manager-Backend als Apache Airflow Airflow-Konfigurationsoption, wie unter aufgeführt. Konfiguration einer Apache Airflow Airflow-Verbindung mithilfe eines Geheimnisses AWS Secrets Manager
-
Eine Apache Airflow Airflow-Variablenzeichenfolge in Secrets Manager, wie unter aufgeführt. Konfiguration einer Apache Airflow Airflow-Verbindung mithilfe eines Geheimnisses AWS Secrets Manager
Berechtigungen
-
Secrets Manager Manager-Berechtigungen wie unter aufgeführtKonfiguration einer Apache Airflow Airflow-Verbindung mithilfe eines Geheimnisses AWS Secrets Manager.
Voraussetzungen
Um dieses Codebeispiel mit Apache Airflow v2 und höher zu verwenden, sind keine zusätzlichen Abhängigkeiten erforderlich. Wird verwendet aws-mwaa-docker-images
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. Beispiel:
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 unter, wie Sie den DAG-Code in diesem Beispiel in den
dagsOrdner in Ihrem Amazon S3 S3-Bucket hochladenHinzufügen oder Aktualisieren DAGs.