

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation d'une clé secrète AWS Secrets Manager pour une variable Apache Airflow
<a name="samples-secrets-manager-var"></a>

Les exemples d'appels suivants AWS Secrets Manager pour obtenir une clé secrète pour une variable Apache Airflow sur Amazon Managed Workflows for Apache Airflow. Cela suppose que vous avez terminé les étapes de[Configuration d'une connexion Apache Airflow à l'aide d'un secret AWS Secrets Manager](connections-secrets-manager.md).

**Topics**
+ [

## Version
](#samples-secrets-manager-var-version)
+ [

## Prérequis
](#samples-secrets-manager-var-prereqs)
+ [

## Autorisations
](#samples-secrets-manager-var-permissions)
+ [

## Prérequis
](#samples-hive-dependencies)
+ [

## Exemple de code
](#samples-secrets-manager-var-code)
+ [

## Quelle est la prochaine étape ?
](#samples-secrets-manager-var-next-up)

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

[Vous pouvez utiliser l'exemple de code présenté sur cette page avec **Apache Airflow v2** en [Python 3.10](https://peps.python.org/pep-0619/) et **Apache Airflow v3** en Python 3.11.](https://peps.python.org/pep-0664/)

## Prérequis
<a name="samples-secrets-manager-var-prereqs"></a>

Pour utiliser l'exemple de code présenté sur cette page, vous aurez besoin des éléments suivants :
+ Le backend Secrets Manager en tant qu'option de configuration d'Apache Airflow, comme indiqué dans. [Configuration d'une connexion Apache Airflow à l'aide d'un secret AWS Secrets Manager](connections-secrets-manager.md)
+ Chaîne de variable Apache Airflow dans Secrets Manager, comme indiqué dans. [Configuration d'une connexion Apache Airflow à l'aide d'un secret AWS Secrets Manager](connections-secrets-manager.md)

## Autorisations
<a name="samples-secrets-manager-var-permissions"></a>
+ Autorisations du Gestionnaire de Secrets Manager répertoriées dans[Configuration d'une connexion Apache Airflow à l'aide d'un secret AWS Secrets Manager](connections-secrets-manager.md).

## Prérequis
<a name="samples-hive-dependencies"></a>

Pour utiliser cet exemple de code avec Apache Airflow v2 et versions ultérieures, aucune dépendance supplémentaire n'est requise. [aws-mwaa-docker-images](https://github.com/aws/amazon-mwaa-docker-images)À utiliser pour installer Apache Airflow.

## Exemple de code
<a name="samples-secrets-manager-var-code"></a>

Les étapes suivantes décrivent comment créer le code DAG qui appelle Secrets Manager pour obtenir le secret.

1. Dans votre invite de commande, accédez au répertoire dans lequel votre code DAG est stocké. Exemples :

   ```
   cd dags
   ```

1. Copiez le contenu de l'exemple de code suivant et enregistrez-le localement sous`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
       )
   ```

## Quelle est la prochaine étape ?
<a name="samples-secrets-manager-var-next-up"></a>
+ Découvrez comment télécharger le code DAG dans cet exemple dans le `dags` dossier de votre compartiment Amazon S3 dans[Ajouter ou mettre à jour DAGs](configuring-dag-folder.md).