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á.
Usando uma chave secreta AWS Secrets Manager para uma variável do Apache Airflow
O exemplo a seguir chama AWS Secrets Manager para obter uma chave secreta para uma variável do Apache Airflow no Amazon Managed Workflows for Apache Airflow. Pressupõe-se que você tenha concluído as etapas em Configurando uma conexão Apache Airflow usando um segredo AWS Secrets Manager.
Versão
-
O código de amostra nesta página pode ser usado com o Apache Airflow v1 em Python 3.7
.
-
É possível usar o exemplo de código nesta página com o Apache Airflow v2 no Python 3.10
.
Pré-requisitos
Para usar o código de amostra nesta página, você precisará do seguinte:
-
O back-end do Secrets Manager como uma opção de configuração do Apache Airflow, conforme mostrado em Configurando uma conexão Apache Airflow usando um segredo AWS Secrets Manager.
-
Uma string variável do Apache Airflow no Secrets Manager, conforme mostrado em Configurando uma conexão Apache Airflow usando um segredo AWS Secrets Manager.
Permissões
-
As permissões do Secrets Manager são mostradas em Configurando uma conexão Apache Airflow usando um segredo AWS Secrets Manager.
Requisitos
-
Para usar esse exemplo de código com o Apache Airflow v1, nenhuma dependência adicional é necessária. O código usa a instalação básica do Apache Airflow v1
em seu ambiente.
-
Para usar esse exemplo de código com o Apache Airflow v2, nenhuma dependência adicional é necessária. O código usa a instalação básica do Apache Airflow v2
em seu ambiente.
Exemplo de código
As etapas a seguir descrevem como criar o código DAG que chama o Secrets Manager para obter o segredo.
-
No prompt de comando, navegue até o diretório em que o código do DAG está armazenado. Por exemplo:
cd dags
-
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
-
Saiba como fazer o upload do código DAG neste exemplo para a pasta
dags
em seu bucket do Amazon S3 em Adicionando ou atualizando DAGs.