Apache Airflow не выполняет команду или отправляет вывод команды правильно? - PullRequest
0 голосов
/ 07 октября 2019

Я использую воздушный поток Apache, и всякий раз, когда я запускаю команду aws, вывод не отображается. Команда работает на оболочке bash рабочего. Прямо сейчас работа будет просто зависать в ожидании. Есть ли что-то, что я должен сделать, чтобы отправить данные в поток воздуха, чтобы сказать, что команда выполнена?

Бревна

[2019-10-07 15:48:13,098] {bash_operator.py:91} INFO - Exporting the following env vars:
    AIRFLOW_CTX_DAG_ID=lambda_async
    AIRFLOW_CTX_TASK_ID=aws_lambda
    AIRFLOW_CTX_EXECUTION_DATE=2019-10-07T15:48:01.310140+00:00
    AIRFLOW_CTX_DAG_RUN_ID=manual__2019-10-07T15:48:01.310140+00:00

[2019-10-07 15:48:13,099] {bash_operator.py:105} INFO - Temporary script location: /tmp/airflowtmpj4r2x2xg/aws_lambda2qu0f2vl

[2019-10-07 15:48:13,099] {bash_operator.py:115} INFO - Running command: aws lambda --region us-east-1 list-functions

[2019-10-07 15:48:13,103] {bash_operator.py:124} INFO - Output:

Код

from airflow import DAG
from airflow.operators.bash_operator import BashOperator
import datetime

default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime.datetime(2019, 7, 30),
'email': ['xxxxxxxxx'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': datetime.timedelta(minutes=5),
}


dag = DAG('lambda_async', default_args=default_args, schedule_interval=datetime.timedelta(days=1))

t1_command = "aws lambda --region us-east-1 list-functions"

t1 = BashOperator(
    task_id='aws_lambda',
    bash_command=t1_command,
    dag=dag)

t1
...