

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 Gestione dei segreti AWS per una variabile Apache Airflow
<a name="samples-secrets-manager-var"></a>

I seguenti esempi di chiamate Gestione dei segreti AWS 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 Gestione dei segreti AWS](connections-secrets-manager.md)

**Topics**
+ [Versione](#samples-secrets-manager-var-version)
+ [Prerequisiti](#samples-secrets-manager-var-prereqs)
+ [Autorizzazioni](#samples-secrets-manager-var-permissions)
+ [Requisiti](#samples-hive-dependencies)
+ [Esempio di codice](#samples-secrets-manager-var-code)
+ [Fasi successive](#samples-secrets-manager-var-next-up)

## Versione
<a name="samples-secrets-manager-var-version"></a>

**[È possibile utilizzare l'esempio di codice in questa pagina con **Apache Airflow v2 in Python 3.10 e Apache Airflow v3**[in Python 3.11](https://peps.python.org/pep-0619/).](https://peps.python.org/pep-0664/)**

## Prerequisiti
<a name="samples-secrets-manager-var-prereqs"></a>

Per utilizzare il codice di esempio in questa pagina, avrai bisogno di quanto segue:
+ Il backend Secrets Manager come opzione di configurazione Apache Airflow, come elencato in. [Configurazione di una connessione Apache Airflow utilizzando un segreto Gestione dei segreti AWS](connections-secrets-manager.md)
+ Una stringa variabile Apache Airflow in Secrets Manager, come elencato in. [Configurazione di una connessione Apache Airflow utilizzando un segreto Gestione dei segreti AWS](connections-secrets-manager.md)

## Autorizzazioni
<a name="samples-secrets-manager-var-permissions"></a>
+ Autorizzazioni di Secrets Manager elencate in[Configurazione di una connessione Apache Airflow utilizzando un segreto Gestione dei segreti AWS](connections-secrets-manager.md).

## Requisiti
<a name="samples-hive-dependencies"></a>

Per utilizzare questo esempio di codice con Apache Airflow v2 e versioni successive, non sono necessarie dipendenze aggiuntive. Utilizzare [aws-mwaa-docker-images](https://github.com/aws/amazon-mwaa-docker-images)per installare Apache Airflow.

## Esempio di codice
<a name="samples-secrets-manager-var-code"></a>

I passaggi seguenti descrivono come creare il codice DAG che chiama Secrets Manager per ottenere il segreto.

1. Nel prompt dei comandi, accedete alla directory in cui è memorizzato il codice DAG. Ad esempio:

   ```
   cd dags
   ```

1. Copia il contenuto del seguente esempio di codice e salvalo localmente come. `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
<a name="samples-secrets-manager-var-next-up"></a>
+ Scopri come caricare il codice DAG in questo esempio nella `dags` cartella del tuo bucket Amazon S3 in. [Aggiungere o aggiornare DAGs](configuring-dag-folder.md)