

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como usar uma chave secreta em AWS Secrets Manager para uma variável do Apache Airflow
<a name="samples-secrets-manager-var"></a>

O exemplo a seguir chama AWS Secrets Manager para obter uma chave secreta para uma variável Apache Airflow no Amazon Managed Workflows for Apache Airflow. Pressupõe-se que você tenha concluído as etapas em [Configurando uma conexão do Apache Airflow usando um segredo AWS Secrets Manager](connections-secrets-manager.md).

**Topics**
+ [Versão](#samples-secrets-manager-var-version)
+ [Pré-requisitos](#samples-secrets-manager-var-prereqs)
+ [Permissões](#samples-secrets-manager-var-permissions)
+ [Requisitos](#samples-hive-dependencies)
+ [Exemplo de código](#samples-secrets-manager-var-code)
+ [Próximas etapas](#samples-secrets-manager-var-next-up)

## Versão
<a name="samples-secrets-manager-var-version"></a>

É possível usar o exemplo de código nesta página com o **Apache Airflow v2** no [Python 3.10](https://peps.python.org/pep-0619/) e o **Apache Airflow v3** no [Python 3.11](https://peps.python.org/pep-0664/).

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

Para usar o código de amostra nesta página, você precisará do seguinte:
+ O backend do Secrets Manager como uma opção de configuração do Apache Airflow, conforme mostrado em [Configurando uma conexão do Apache Airflow usando um segredo AWS Secrets Manager](connections-secrets-manager.md).
+ Uma string variável do Apache Airflow no Secrets Manager, conforme mostrado em [Configurando uma conexão do Apache Airflow usando um segredo AWS Secrets Manager](connections-secrets-manager.md).

## Permissões
<a name="samples-secrets-manager-var-permissions"></a>
+ As permissões do Secrets Manager, conforme mostrado em [Configurando uma conexão do Apache Airflow usando um segredo AWS Secrets Manager](connections-secrets-manager.md).

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

Para usar esse exemplo de código com o Apache Airflow v2 e versões posteriores, nenhuma dependência adicional é necessária. Use [aws-mwaa-docker-images](https://github.com/aws/amazon-mwaa-docker-images) para instalar o Apache Airflow.

## Exemplo de código
<a name="samples-secrets-manager-var-code"></a>

As etapas a seguir descrevem como criar o código DAG que chama o Secrets Manager para obter o segredo.

1. No prompt de comando, navegue até o diretório em que o código do DAG está armazenado. Por exemplo:

   ```
   cd dags
   ```

1. Copie o conteúdo da amostra de código a seguir e salve localmente como `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
       )
   ```

## Próximas etapas
<a name="samples-secrets-manager-var-next-up"></a>
+ Saiba como fazer o upload do código DAG neste exemplo para a pasta `dags` em seu bucket do Amazon S3 em [Como adicionar ou atualizar DAGs](configuring-dag-folder.md).