Esta página descreve o repositório que armazena o código do Apache Airflow com patch usado no Cloud Composer.
Sobre o repositório
O repositório Composer-Airflow é um repositório somente leitura que contém o código do Apache Airflow em patch em execução no Cloud Composer.
Uma versão específica do Apache Airflow encontrada no Cloud Composer nem sempre é uma correspondência exata com a versão correspondente no upstream do Airflow porque ele usa uma versão com patch do Airflow. Esse repositório contém o código para cada versão com patch do Airflow usada no Cloud Composer. Para informações sobre quais versões do Airflow são encontradas no Cloud Composer, consulte a lista de versões do Cloud Composer.
Contribuição
Esse código não é uma bifurcação do Apache Airflow. O código encontrado neste repositório vem diretamente do repositório Apache Airflow, mas em uma linha do tempo diferente das versões normais do Apache Airflow.
Se você quiser contribuir com esta base de código, envie diretamente para o Airflow. Não faça isso neste repositório, porque as solicitações de pull não são aceitas nele.
Problemas e suporte
- Se você tiver um problema com o código encontrado neste repositório, crie um problema diretamente no repositório do Airflow.
- Se você tiver um problema com o Cloud Composer, use os canais de suporte do Cloud Composer.
Como navegar pelo 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 compatíveis com o Cloud Composer. É possível conferir quais versões do Airflow são compatíveis com uma versão específica do Cloud Composer na lista de versões do Cloud Composer.
Exemplos de uso
Esta seção lista exemplos de uso do repositório.
Esta confirmação está disponível no repositório do Airflow na minha versão do Cloud Composer?
Os SHA1s de confirmações no repositório Composer-Airflow não correspondem a confirmações SHA1 no repositório upstream do Airflow. Uma das maneiras de procurar uma confirmação específica é procurar a mensagem de confirmação correspondente.
Não é possível usar a interface do GitHub para pesquisar mensagens de confirmação em
branches além da ramificação padrão. No entanto, é possível fazer isso usando
a CLI git
. Para pesquisar uma confirmação específica neste repositório, você precisa
ter o git
instalado.
Para pesquisar uma mensagem de confirmação usando a CLI git
:
Clone o repositório e mude para o diretório do repositório usando o seguinte comando:
git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \ cd composer-airflow
Procure a mensagem de confirmação:
git log --source --grep="COMMIT_MESSAGE" --all
Nesse comando:
--source
mostra a ramificação em que a confirmação foi encontrada;--grep
especifica a mensagem que precisa ser pesquisada no registro.--all
pesquisa em todas as ramificações
A ramificação está localizada ao lado do hash de confirmação na primeira linha de cada resultado. Se o comando retornar uma confirmação, isso significa que ele 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 será usada na versão do Airflow do ambiente.
Por exemplo, se você quiser pesquisar a mensagem de confirmação
Force explicit choice on GPL dependency
, o comando será:
git log --source --grep="Force explicit choice on GPL dependency" --all
Se houver uma confirmação correspondente, os resultados serão semelhantes ao exemplo de saída abaixo. Talvez haja mais de 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
Como é esse operador do Airflow na minha versão do Cloud Composer?
Os operadores do Airflow e o código que os acompanha são empacotados e lançados separadamente dos principais pacotes do Airflow em pacotes PyPI chamados pacotes de provedor.
Alguns desses pacotes são instalados por padrão no Cloud Composer. Para saber qual versão está instalada no seu ambiente, consulte a lista de pacotes da versão do Cloud Composer na lista de versões.
IU do GitHub
Para analisar o código de um operador em uma versão específica do pacote do provedor:
Acesse o repositório upstream do Airflow.
Digite o nome do operador que você está procurando na barra de pesquisa do GitHub.
Se mais de um arquivo for retornado, clique no arquivo de código com um caminho que começa em
airflow/providers
.Por exemplo, se você pesquisar
GoogleCloudStorageCreateBucketOperator
, escolhaairflow/providers/google/cloud/operators/gcs.py
.Clique no seletor de ramificação, que abre a lista suspensa Alternar ramificações/tags.
Clique na guia Tags.
Para pacotes
providers
, pesquise o nome do provedor e a versão digitandoproviders-PROVIDER_NAME/PROVIDER_VERSION
na barra de pesquisa da lista suspensa, em quePROVIDER_NAME
é o nome do provedor ePROVIDER_VERSION
é o nome da versão que você está procurando.Por exemplo, se você quiser ver a versão
10.0.0
do pacoteapache-airflow-providers-google
, pesquiseproviders-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 suspensa.Por exemplo, se você 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 na tela é o que está sendo executado na sua versão desse operador. Também é possível clicar em Histórico para conferir o histórico de confirmações até esse ponto.
CLI do git
Para analisar o código de um operador em uma versão específica do pacote do provedor:
Clone o repositório upstream do Airflow.
Para pacotes
providers
, executegit checkout providers-PROVIDER_NAME/PROVIDER_VERSION
, em quePROVIDER_NAME
é o nome do provedor ePROVIDER_VERSION
é o nome da versão que você está procurando.Por exemplo, se você 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, executegit checkout backport-providers-PROVIDER_VERSION
.Por exemplo, se você quiser ver a versão
2021.3.3
do pacoteapache-airflow-backport-providers-google
,executegit checkout backport-providers-2021.3.3
.Se você não souber o caminho do arquivo do operador, pesquise-o com o comando
git grep
. O exemplo a seguir demonstra como procurar GoogleCloudStorageCreateBucketOperator.git grep GoogleCloudStorageCreateBucketOperator
A saída será uma lista de arquivos em que a string (neste caso, o nome do operador) pode ser encontrada. Nessa lista, navegue até o arquivo e analise o conteúdo.
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(
A seguir
- Executar um ambiente local do Airflow com a ferramenta de CLI de desenvolvimento local do Composer