Esta página descreve o repositório que armazena o código do Apache Airflow corrigido usado no Cloud Composer.
Acerca do repositório
O repositório Composer-Airflow é um repositório de leitura que contém o código do Apache Airflow corrigido em execução no Cloud Composer.
Uma versão específica do Apache Airflow encontrada no Cloud Composer nem sempre corresponde exatamente à versão correspondente no Airflow a montante, porque o Cloud Composer usa uma versão corrigida do Airflow. Este repositório contém o código de todas as versões corrigidas do Airflow usadas no Cloud Composer. Para obter informações sobre as versões do Airflow encontradas no Cloud Composer, consulte a lista de versões do Cloud Composer.
Contribuindo
Este código não é uma ramificação do Apache Airflow. O código encontrado neste repositório provém diretamente do repositório do Apache Airflow, mas numa linha cronológica diferente das versões normais do Apache Airflow.
Se quiser contribuir para esta base de código, contribua diretamente para o Airflow em vez disso. Não o faça neste repositório porque não são aceites pedidos de envio no mesmo.
Problemas e apoio técnico
- Se tiver um problema com o código encontrado neste repositório, pode criar um problema diretamente no repositório do Airflow.
- Se tiver um problema com o Cloud Composer, use os canais de apoio técnico do Cloud Composer.
Navegar no repositório
O repositório tem uma ramificação para cada versão do Airflow disponível no Cloud Composer. Nem todas as versões do Airflow são suportadas no Cloud Composer. Pode ver que versões do Airflow são suportadas por uma versão específica do Cloud Composer na lista de versões do Cloud Composer.
Exemplos de utilização
Esta secção apresenta exemplos de utilização do repositório.
Este commit do repositório do Airflow está na minha versão do Cloud Composer?
Os SHA1s das consolidações no repositório Composer-Airflow não correspondem aos SHA1s de consolidações no repositório Airflow a montante. Uma das formas de pesquisar um commit específico é procurar a mensagem de commit correspondente.
Não é possível usar a IU do GitHub para pesquisar mensagens de commits em ramos que não sejam o ramo predefinido. No entanto, é possível fazê-lo através da CLI git
. Para pesquisar um commit específico neste repositório, tem de ter o git
instalado.
Para pesquisar uma mensagem de commit através da CLI git
:
Clone o repositório e altere para o diretório do repositório através do seguinte comando:
git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \ cd composer-airflow
Pesquise a mensagem de confirmação:
git log --source --grep="COMMIT_MESSAGE" --all
Neste comando:
--source
mostra o ramo onde o commit é encontrado--grep
especifica a mensagem que tem de ser pesquisada no registo--all
pesquisas em todas as ramificações
O ramo está localizado junto ao hash de confirmação na primeira linha de cada resultado. Se o comando devolver uma confirmação, significa que está na sua versão do Cloud Composer. Além disso, se a versão do Airflow no seu ambiente for posterior à versão da ramificação, a confirmação é usada na versão do Airflow do seu ambiente.
Por exemplo, se quiser pesquisar a mensagem de confirmação
Force explicit choice on GPL dependency
, o comando seria:
git log --source --grep="Force explicit choice on GPL dependency" --all
Se existir um commit correspondente, os seus resultados têm o aspeto do seguinte exemplo de resultado. Pode haver mais do que um resultado.
commit 64ff1089e30e80b08bf5155edd9e49f5293ebbe4 refs/heads/<strong>1.10.2</strong>
Author: example_airflow_committer <example_airflow_committer@users.noreply.github.com>
Date: Wed Aug 1 11:25:31 2018 +0200
[AIRFLOW-2817] Force explicit choice on GPL dependency (#3660)
By default one of Apache Airflow's dependencies pulls in a GPL
library. Airflow should not install (and upgrade) without an explicit choice.
This is part of the Apache requirements as we cannot depend on Category X
software.
(cherry picked from commit c37fc0b6ba19e3fe5656ae37cef9b59cef3c29e8)
Signed-off-by: Example Airflow Committer <example_airflow_committer@users.noreply.github.com>
(cherry picked from commit b39e4532d9d1086c60b31553d08972bcc68df641)
Signed-off-by: Example Airflow Committer <example_airflow_committer@users.noreply.github.com>
GitOrigin-RevId: cefcf4c61f64be3792cbfed509b82a9eb4cc47be
Qual é o aspeto deste operador do Airflow na minha versão do Cloud Composer?
Os operadores do Airflow e o código associado são incluídos em pacotes e lançados separadamente do Airflow principal em pacotes PyPI denominados pacotes de fornecedores.
Alguns destes pacotes são instalados por predefinição no Cloud Composer. Para saber que versão está instalada no seu ambiente, consulte a lista de pacotes da versão do Cloud Composer do seu ambiente na lista de versões.
IU do GitHub
Para ver o código de um operador numa versão específica do pacote do fornecedor:
Aceda ao repositório do Airflow a montante.
Introduza o nome do operador que está a pesquisar na barra de pesquisa do GitHub.
Se for devolvido mais do que um ficheiro, clique no ficheiro de código com um caminho que comece em
airflow/providers
.Por exemplo, se pesquisar o
GoogleCloudStorageCreateBucketOperator
e, de seguida, escolherairflow/providers/google/cloud/operators/gcs.py
.Clique no seletor de ramificações, que abre a lista pendente Mudar de ramificações/etiquetas.
Clique no separador Etiquetas.
Para pacotes
providers
, pesquise o nome do seu fornecedor e a versão escrevendoproviders-PROVIDER_NAME/PROVIDER_VERSION
na barra de pesquisa da lista pendente, ondePROVIDER_NAME
é o nome do fornecedor ePROVIDER_VERSION
é o nome da versão que procura.Por exemplo, se quiser ver a versão
10.0.0
do pacoteapache-airflow-providers-google
, deve pesquisarproviders-google/10.0.0
.Para pacotes
backport-providers
, que são usados no Airflow 1, pesquisebackport-providers-PROVIDER_VERSION
na barra de pesquisa da lista pendente.Por exemplo, se quiser ver a versão
2021.3.3
do pacoteapache-airflow-backport-providers-google
, pesquisebackport-providers-2021.3.3
.Clique no resultado que corresponde à sua consulta.
O código no ecrã é o que está a ser executado na sua versão desse operador. Também pode clicar em Histórico para ver o histórico de commits até este ponto.
CLI git
Para ver o código de um operador numa versão específica do pacote do fornecedor:
Clone o repositório do Airflow a montante.
Para pacotes
providers
, executegit checkout providers-PROVIDER_NAME/PROVIDER_VERSION
, ondePROVIDER_NAME
é o nome do fornecedor ePROVIDER_VERSION
é o nome da versão que procura.Por exemplo, se quiser ver a versão
10.0.0
do pacoteapache-airflow-providers-google
, executegit checkout providers-google/10.0.0
.Para pacotes
backport-providers
, que são usados no Airflow 1, execute o comandogit checkout backport-providers-PROVIDER_VERSION
.Por exemplo, se quiser ver a versão
2021.3.3
do pacoteapache-airflow-backport-providers-google
,executegit checkout backport-providers-2021.3.3
.Se não souber o caminho do ficheiro do operador, pode pesquisá-lo com o comando
git grep
. O exemplo seguinte demonstra como pesquisar GoogleCloudStorageCreateBucketOperator.git grep GoogleCloudStorageCreateBucketOperator
A saída é uma lista de ficheiros onde a string (neste caso, o nome do operador) pode ser encontrada. Nessa lista, navegue para o ficheiro e examine o respetivo conteúdo mais detalhadamente.
airflow/contrib/operators/gcs_operator.py:class GoogleCloudStorageCreateBucketOperator(BaseOperator): airflow/contrib/operators/gcs_operator.py: CreateBucket = GoogleCloudStorageCreateBucketOperator( airflow/contrib/operators/gcs_operator.py: super( GoogleCloudStorageCreateBucketOperator, self).__init__(*args, **kwargs) docs/code.rst:.. autoclass:: airflow.contrib.operators.gcs_operator.Google CloudStorageCreateBucketOperator docs/integration.rst:- :ref:`GoogleCloudStorageCreateBucketOperator` : Creates a new cloud storage bucket. docs/integration.rst:.. _GoogleCloudStorageCreateBucketOperator: docs/integration.rst:GoogleCloudStorageCreateBucketOperator docs/integration.rst:.. autoclass:: airflow.contrib.operators.gcs_operator .GoogleCloudStorageCreateBucketOperator tests/contrib/operators/test_gcs_operator.py:from airflow.contrib.operators.gcs_operator import GoogleCloudStorageCreateBucketOperator tests/contrib/operators/test_gcs_operator.py: operator = GoogleCloudStorageCreateBucketOperator(
O que se segue?
- Execute um ambiente local do Airflow com a ferramenta Composer Local Development CLI