이 페이지에서는 Managed Airflow에서 사용되는 패치된 Apache Airflow 코드를 저장하는 저장소를 설명합니다.
저장소에 대하여
Composer-Airflow 저장소는 Managed Airflow에서 실행되는 패치된 Apache Airflow 코드를 포함하는 읽기 전용 저장소입니다.
Managed Airflow에서 Airflow의 패치 버전이 사용되기 때문에 Managed Airflow의 특정 Apache Airflow 버전이 업스트림 Airflow의 해당 버전과 항상 정확하게 일치하지는 않습니다. 이 저장소에는 Managed Airflow에서 사용되는 모든 패치된 Airflow 버전의 코드가 포함되어 있습니다. 관리형 Airflow에 포함된 Airflow 버전에 대한 정보는 관리형 Airflow 버전 목록을 참조하세요.
참여
이 코드는 Apache Airflow의 포크가 아닙니다. 이 저장소에 있는 코드는 Apache Airflow 저장소에서 직접 가져온 것이지만, 일반적인 Apache Airflow 릴리스와는 다른 시점에 작성되었습니다.
이 코드베이스에 참여하려면 대신 Airflow에 직접 참여하세요. 이 저장소에서는 풀 요청이 허용되지 않으므로 이 저장소에서 그렇게 하지 마세요.
문제 및 지원
- 이 저장소에서 발견된 코드에 문제가 있으면 Airflow 저장소에 직접 문제를 만들 수 있습니다.
- Managed Airflow에 문제가 있는 경우 Managed Airflow 지원 채널을 이용해 주세요.
저장소 탐색
저장소에는 Managed Service for Apache Airflow에서 제공되는 각 Airflow 버전에 대해 하나의 브랜치가 있습니다. Managed Airflow에서는 일부 버전의 Airflow가 지원되지 않습니다. 특정 Managed Airflow 버전에서 지원하는 Airflow 버전을 Managed Airflow 버전 목록에서 확인할 수 있습니다.
사용 예시
이 섹션에는 저장소 사용 예시가 나와 있습니다.
이 커밋이 내 버전의 Managed Airflow의 Airflow 저장소에서 제공되나요?
Composer-Airflow 저장소의 커밋 SHA1은 업스트림 Airflow 저장소의 커밋 SHA1에 해당하지 않습니다. 특정 커밋을 검색하는 한 가지 방법은 해당 커밋 메시지를 찾는 것입니다.
기본 브랜치 이외의 브랜치에서 GitHub UI를 사용하여 커밋 메시지를 검색할 수는 없지만 git CLI를 사용하면 검색이 가능합니다. 이 저장소에서 특정 커밋을 검색하려면 git이 설치되어 있어야 합니다.
git CLI를 사용하여 커밋 메시지를 검색하려면 다음을 실행하세요.
다음 명령어를 사용하여 저장소를 클론하고 저장소 디렉터리로 변경합니다.
git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \ cd composer-airflow커밋 메시지를 검색합니다.
git log --source --grep="COMMIT_MESSAGE" --all이 명령어에서
--source는 커밋이 발견된 분기를 보여줍니다.--grep는 로그를 검색해야 하는 메시지를 지정합니다.--all은 모든 브랜치에서 검색합니다.
브랜치는 모든 결과의 첫 번째 줄에 있는 커밋 해시 옆에 있습니다. 명령 실행 결과가 커밋으로 표시되면 해당 변경 사항이 사용자의 Managed Airflow 버전에 반영된 것입니다. 또한, 사용 환경의 Airflow 버전이 브랜치 버전보다 최신인 경우, 해당 커밋이 사용 환경의 Airflow 버전에 적용됩니다.
예를 들어, 커밋 메시지 Force explicit choice on GPL dependency을 검색하려면 다음과 같은 명령어를 사용하면 됩니다.
git log --source --grep="Force explicit choice on GPL dependency" --all
일치하는 커밋이 있으면 결과가 다음 출력 예와 같이 표시됩니다. 결과가 두 개 이상일 수 있습니다.
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
내 버전의 Managed Airflow에서 이 Airflow 연산자는 어떻게 표시되나요?
Airflow 연산자와 관련 코드는 코어 Airflow와 별도로 패키징되어 provider 패키지라는 PyPI 패키지에 배포됩니다.
이러한 패키지 중 일부는 Managed Airflow에 기본적으로 설치됩니다. 해당 환경에 설치된 버전을 확인하려면 버전 목록에서 환경의 Managed Airflow 버전에 해당하는 패키지 목록을 확인합니다.
GitHub UI
특정 프로바이더 패키지 버전에서 연산자의 코드를 확인하려면 다음 안내를 따르세요.
업스트림 Airflow 저장소로 이동합니다.
GitHub 검색창에 검색할 연산자의 이름을 입력합니다.
파일이 2개 이상 반환되면 경로가
airflow/providers로 시작하는 코드 파일을 클릭합니다.예를 들어
GoogleCloudStorageCreateBucketOperator를 검색할 경우airflow/providers/google/cloud/operators/gcs.py를 선택합니다.분기 선택기를 클릭하면 분기/태그 전환 드롭다운 목록이 열립니다.
태그 탭을 클릭합니다.
providers패키지의 경우 드롭다운 목록의 검색창에providers-PROVIDER_NAME/PROVIDER_VERSION을 입력하여 공급자 이름과 버전을 검색합니다. 여기서PROVIDER_NAME은 공급자 이름이고PROVIDER_VERSION은 검색하려는 버전의 이름입니다.예를 들어
apache-airflow-providers-google패키지의10.0.0버전을 보려면providers-google/10.0.0을 검색합니다.Airflow 1에서 사용되는
backport-providers패키지의 경우 드롭다운 목록의 검색창에서backport-providers-PROVIDER_VERSION을 검색합니다.예를 들어
apache-airflow-backport-providers-google패키지의2021.3.3버전을 보려면backport-providers-2021.3.3을 검색합니다.쿼리와 일치하는 결과를 클릭합니다.
화면의 코드는 해당 연산자 버전으로 실행되는 것입니다. 또한 기록을 클릭하여 이 지점까지 커밋 기록을 확인할 수 있습니다.
git CLI
특정 프로바이더 패키지 버전에서 연산자의 코드를 확인하려면 다음 안내를 따르세요.
업스트림 Airflow 저장소를 클론합니다.
providers패키지의 경우git checkout providers-PROVIDER_NAME/PROVIDER_VERSION을 실행합니다. 여기서PROVIDER_NAME은 공급자 이름이고PROVIDER_VERSION은 검색하려는 버전의 이름입니다.예를 들어
apache-airflow-providers-google패키지의10.0.0버전을 보려면git checkout providers-google/10.0.0을 실행합니다.Airflow 1에서 사용되는
backport-providers패키지의 경우git checkout backport-providers-PROVIDER_VERSION를 실행합니다.예를 들어
apache-airflow-backport-providers-google패키지의2021.3.3버전을 보려면git checkout backport-providers-2021.3.3을 실행합니다.연산자의 파일 경로를 모르는 경우
git grep명령어를 사용하여 검색할 수 있습니다. 다음 예시에서는 GoogleCloudStorageCreateBucketOperator를 검색하는 방법을 보여줍니다.git grep GoogleCloudStorageCreateBucketOperator출력은 문자열 (이 경우에는 연산자 이름)을 찾을 수 있는 파일 목록입니다. 이 목록에서 파일로 이동하고 내용을 더 조사합니다.
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(
다음 단계
- Composer 로컬 개발 CLI 도구를 사용하여 로컬 Airflow 환경을 실행하세요.