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á.
Adicionando ou atualizando DAGs
Gráficos acíclicos direcionados (DAGs) são definidos em um arquivo Python que define a estrutura do DAG como código. Você pode usar o console do AWS CLI Amazon S3 ou o console do Amazon S3 para fazer o upload DAGs para o seu ambiente. Este tópico descreve as etapas para adicionar ou atualizar o Apache Airflow DAGs em seu ambiente Amazon Managed Workflows for Apache Airflow usando a pasta em dags
seu bucket do Amazon S3.
Seções
Pré-requisitos
Você precisará do seguinte antes de concluir as etapas nesta página.
-
Permissões — Seu AWS administrador deve ter concedido acesso à política de controle de MWAAFull ConsoleAccess acesso da Amazon para seu ambiente. Além disso, seu ambiente Amazon MWAA deve ser autorizado pela sua função de execução para acessar os AWS recursos usados pelo seu ambiente.
-
Acesso: se você precisar de acesso a repositórios públicos para instalar dependências diretamente no servidor web, seu ambiente deverá ser configurado com acesso ao servidor web de rede pública. Para obter mais informações, consulte Modos de acesso do Apache Airflow.
-
Configuração do Amazon S3 — O bucket do Amazon S3 usado para armazenar DAGs seus plug-ins
plugins.zip
personalizados e dependências do Python deve ser configurado com acesso públicorequirements.txt
bloqueado e controle de versão ativado.
Como funciona
Um Gráfico acíclico direcionado (Directed Acyclic Graphs, DAGs) é definido em um único arquivo Python que define a estrutura do DAG como código. Ele consiste em:
-
Uma definição de DAG
. -
Operadores
que descrevem como executar o DAG e as tarefas a serem executadas. -
Relações entre operadores
que descrevem a ordem na qual as tarefas devem ser executadas.
Para executar uma plataforma Apache Airflow em um ambiente Amazon MWAA, você precisa copiar sua definição de DAG para a pasta dags
em seu bucket de armazenamento. Por exemplo, a pasta DAG em seu bucket de armazenamento pode ter a seguinte aparência:
exemplo Pasta do DAG
dags/ └ dag_def.py
O Amazon MWAA sincroniza automaticamente objetos novos e alterados do seu bucket do Amazon S3 para a pasta /usr/local/airflow/dags
dos contêineres de scheduler e operador do Amazon MWAA a cada 30 segundos, preservando a hierarquia de arquivos da fonte do Amazon S3, independentemente do tipo de arquivo. O tempo que essa nova DAGs demora para aparecer na sua interface de usuário do Apache Airflow é controlado por. scheduler.dag_dir_list_interval
As alterações nas existentes DAGs serão coletadas no próximo ciclo de processamento do DAG.
nota
Você não precisa incluir o arquivo de configuração airflow.cfg
na pasta do DAG. É possível substituir as configurações padrão do Apache Airflow no console do Amazon MWAA. Para obter mais informações, consulte Como usar opções de configuração do Apache Airflow no Amazon MWAA.
O que mudou na v2
-
Novo: operadores, hooks e executores. As instruções de importação em seu DAGs e os plug-ins personalizados que você especifica em um
plugins.zip
no Amazon MWAA mudaram entre o Apache Airflow v1 e o Apache Airflow v2. Por exemplo,from airflow.contrib.hooks.aws_hook import AwsHook
no Apache Airflow v1 mudou parafrom airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
no Apache Airflow v2. Para saber mais, consulte Referência da API Pythonno Guia de referência do Apache Airflow.
Teste DAGs usando o utilitário Amazon MWAA CLI
-
O utilitário da interface de linha de comandos (CLI) replica localmente um ambiente do Amazon Managed Workflows for Apache Airflow.
-
A CLI cria localmente uma imagem de contêiner Docker semelhante a uma imagem de produção do Amazon MWAA. Isso permite que você execute um ambiente Apache Airflow local para desenvolver e testar DAGs plug-ins e dependências personalizados antes da implantação no Amazon MWAA.
-
Para executar a CLI, consulte o aws-mwaa-local-runner
on. GitHub
Como fazer upload do código do DAG para o Amazon S3
Você pode usar o console do Amazon S3 ou o AWS Command Line Interface (AWS CLI) para fazer upload do código DAG para o seu bucket do Amazon S3. As etapas a seguir pressupõem que você esteja fazendo upload do código (.py
) em uma pasta chamada dags
em seu bucket do Amazon S3.
Usando o AWS CLI
O AWS Command Line Interface (AWS CLI) é uma ferramenta de código aberto que permite que você interaja com AWS serviços usando comandos em seu shell de linha de comando. Para concluir as etapas nesta página, é necessário o seguinte:
Para fazer o upload usando o AWS CLI
-
Use o comando a seguir para listar todos os seus buckets do Amazon S3.
aws s3 ls
-
Use o seguinte comando para listar os arquivos e pastas no bucket do Amazon S3 para seu ambiente.
aws s3 ls s3://
YOUR_S3_BUCKET_NAME
-
Os comandos a seguir fazem upload de um arquivo
dag_def.py
para uma pastadags
.aws s3 cp dag_def.py s3://
YOUR_S3_BUCKET_NAME
/dags/Se uma pasta chamada
dags
ainda não existir em seu bucket do Amazon S3, este comando cria a pastadags
e faz upload do arquivo denominadodag_def.py
para a nova pasta.
Usar o console do Amazon S3
O console do Amazon S3 é uma interface de usuário baseada na Web que permite criar e gerenciar os recursos no bucket do Amazon S3. As etapas a seguir pressupõem que você tenha uma DAGs pasta chamadadags
.
Fazer o upload usando o console do Amazon S3
-
Abra a página Ambientes
no console do Amazon MWAA. -
Escolha um ambiente.
-
Selecione o link do bucket do S3 no código do DAG no painel do S3 para abrir seu bucket de armazenamento no console do Amazon S3.
-
Escolha a pasta
dags
. -
Escolha Carregar.
-
Escolha Adicionar arquivo.
-
Selecione a cópia local do seu
dag_def.py
e escolha Carregar.
Especificando o caminho para sua DAGs pasta no console Amazon MWAA (pela primeira vez)
As etapas a seguir pressupõem que você está especificando o caminho para uma pasta do bucket do Amazon S3 chamada dags
.
-
Abra a página Ambientes
no console do Amazon MWAA. -
Escolha o ambiente em que você deseja executar DAGs.
-
Selecione Editar.
-
No código DAG no painel Amazon S3, escolha Navegar S3 ao lado do campo pasta DAG.
-
Selecione sua pasta
dags
. -
Selecione Escolher.
-
Selecione Avançar, Atualizar ambiente.
Como visualizar as alterações na IU do Apache Airflow
Fazendo login no Apache Airflow
Você precisa de Política de acesso ao Apache Airflow UI: Amazon MWAAWeb ServerAccess permissões para sua AWS conta no AWS Identity and Access Management (IAM) para visualizar sua interface de usuário do Apache Airflow.
Para acessar sua IU do Apache Airflow
-
Abra a página Ambientes
no console do Amazon MWAA. -
Escolha um ambiente.
-
Escolha Abrir a IU do Airflow.
Próximas etapas
-
Teste seus DAGs plug-ins personalizados e dependências do Python localmente usando o on. aws-mwaa-local-runner
GitHub