Adicionando ou atualizando DAGs - Amazon Managed Workflows for Apache Airflow

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 AWS CLI ou o Amazon S3 para fazer o upload DAGs para o seu ambiente. Este tópico descreve as etapas para adicionar ou atualizar o Apache DAGs Airflow em seu ambiente Amazon Managed Workflows for Apache Airflow usando a pasta em seu bucket do dags Amazon S3.

Pré-requisitos

Você precisará do seguinte antes de concluir as etapas nesta página.

  • Permissões — Seu administrador Conta da AWS 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úblico requirements.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:

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 deve ser semelhante a:

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 o novo DAGs leva para ser listado 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?

Para revisar as alterações em uma versão específica do Apache Airflow, consulte a página Notas de versão.

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 DAGs testar plug-ins e dependências personalizados antes da implantação no Amazon MWAA.

  • Para executar a CLI, consulte on. aws-mwaa-docker-images 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
  1. Use o comando a seguir para listar todos os seus buckets do Amazon S3.

    aws s3 ls
  2. 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
  3. Os comandos a seguir fazem upload de um arquivo dag_def.py para uma pasta dags.

    aws s3 cp dag_def.py s3://amzn-s3-demo-bucket/dags/

    Se uma pasta chamada dags ainda não existir em seu bucket do Amazon S3, este comando cria a pasta dags e faz upload do arquivo denominado dag_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
  1. Abra a página Ambientes no console do Amazon MWAA.

  2. Escolha um ambiente.

  3. Selecione o link do bucket do S3 no código do DAG no painel do S3 para abrir o bucket de armazenamento no console.

  4. Escolha a pasta dags.

  5. Escolha Carregar.

  6. Escolha Adicionar arquivo.

  7. 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.

  1. Abra a página Ambientes no console do Amazon MWAA.

  2. Escolha o ambiente em que você deseja executar DAGs.

  3. Escolha Editar.

  4. No código do DAG no painel Amazon S3, escolha Procurar no S3 adjacente ao campo da pasta do DAG.

  5. Selecione sua pasta dags.

  6. Selecione Escolher.

  7. Selecione Avançar, Atualizar ambiente.

Acessando alterações na sua interface de usuário do Apache Airflow

Você precisa de Política de acesso ao Apache Airflow UI: Amazon MWAAWeb ServerAccess permissões para que seu Conta da AWS in AWS Identity and Access Management (IAM) acesse sua interface de usuário do Apache Airflow.

Para acessar sua IU do Apache Airflow
  1. Abra a página Ambientes no console do Amazon MWAA.

  2. Escolha um ambiente.

  3. Escolha Abrir a IU do Airflow.

Próximas etapas

Teste seus DAGs plug-ins personalizados e dependências do Python localmente usando on. aws-mwaa-docker-images GitHub