Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di una chiave segreta AWS Secrets Manager per una variabile Apache Airflow
I seguenti esempi di chiamate AWS Secrets Manager per ottenere una chiave segreta per una variabile Apache Airflow su Amazon Managed Workflows for Apache Airflow. Si presuppone che tu abbia completato i passaggi di. Configurazione di una connessione Apache Airflow utilizzando un segreto AWS Secrets Manager
Versione
Prerequisiti
Per utilizzare il codice di esempio in questa pagina, avrai bisogno di quanto segue:
-
Il backend Secrets Manager come opzione di configurazione di Apache Airflow, come mostrato in. Configurazione di una connessione Apache Airflow utilizzando un segreto AWS Secrets Manager
-
Una stringa variabile Apache Airflow in Secrets Manager, come mostrato in. Configurazione di una connessione Apache Airflow utilizzando un segreto AWS Secrets Manager
Autorizzazioni
-
Autorizzazioni di Secrets Manager come illustrato inConfigurazione di una connessione Apache Airflow utilizzando un segreto AWS Secrets Manager.
Requisiti
-
Per utilizzare questo esempio di codice con Apache Airflow v1, non sono necessarie dipendenze aggiuntive. Il codice utilizza l'installazione di base di Apache Airflow v1
nell'ambiente in uso.
-
Per utilizzare questo esempio di codice con Apache Airflow v2, non sono necessarie dipendenze aggiuntive. Il codice utilizza l'installazione di base di Apache Airflow v2
nell'ambiente in uso.
Esempio di codice
I passaggi seguenti descrivono come creare il DAG codice che richiama Secrets Manager per ottenere il segreto.
-
Nel prompt dei comandi, accedi alla directory in cui è memorizzato il DAG codice. Per esempio:
cd dags
-
Copia il contenuto del seguente esempio di codice e salvalo localmente con nome.
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 )
Fasi successive
-
Scopri come caricare il DAG codice in questo esempio
dags
nella cartella del tuo bucket Amazon S3 in. Aggiunta o aggiornamento di DAG