Не удается развернуть группы доступности базы данных в Google Composer, если я импортирую google.cloud.storage - PullRequest
0 голосов
/ 10 сентября 2018

Почему-то я не могу развернуть файлы DAG в Google Composer, если я импортирую google.cloud.storage в DAG. Если я попытаюсь развернуть такой файл DAG, он не будет добавлен в DagBag, поэтому в нем будет отсутствующая ссылка на веб-сайте Airflow, и он не будет использоваться. На этом этапе есть обычный значок информации: «Эта группа доступности базы данных недоступна в объекте DagBag веб-сервера. Он отображается в этом списке, потому что планировщик пометил его как активный в базе данных метаданных. В отличие от фактической синтаксической ошибки, в верхней части страницы нет сообщения об ошибке.

Я точно определил, импортирую ли я google.cloud.storage или нет. Даже если я действительно использую это. Например, эта метка работает нормально, если я закомментирую строку импорта хранилища, не устанавливается в Composer, если я ее заменяю. Кто-нибудь может понять, почему?

import datetime
from airflow import DAG
from google.cloud import storage
from airflow.operators.python_operator import PythonOperator

default_args = {
    'owner': 'Airflow',
    'depends_on_past': False,
    'email': ['kevin@here.com'],
    'email_on_failure': True,
    'email_on_retry': True,
    'retries': 1,
    'retry_delay': datetime.timedelta(minutes=5),
    'start_date': datetime.datetime(2017,1,1),
}

def ingest_file(**kwargs):
    status = 'OK'
    return status

# Not scheduled, trigger only
dag = DAG('ingest_test', default_args=default_args, schedule_interval=None)

ingest = PythonOperator(task_id = 'ingest', provide_context = True, 
  python_callable = ingest_file, dag = dag)

1 Ответ

0 голосов
/ 27 сентября 2018

Если вам требуются пакеты PyPi в вашей группе DAG или пользовательских операторах, то вы не получите сообщение об ошибке, DAG просто не будет развернута. Если вы получаете это, убедитесь, что все необходимые пакеты установлены в среде Composer.

Обратите внимание, что поведение присутствия, а затем и отсутствия, все еще присутствует, но на самом деле происходит через некоторое время

...