Airflow 1.8.1 を使用しており、PostgreOperator からの SQL リクエストの結果をプッシュしたいと考えています。
私のタスクは次のとおりです。
check_task = PostgresOperator(
task_id='check_task',
postgres_conn_id='conx',
sql="check_task.sql",
xcom_push=True,
dag=dag)
def py_is_first_execution(**kwargs):
value = kwargs['ti'].xcom_pull(task_ids='check_task')
print 'count ----> ', value
if value == 0:
return 'next_task'
else:
return 'end-flow'
check_branch = BranchPythonOperator(
task_id='is-first-execution',
python_callable=py_is_first_execution,
provide_context=True,
dag=dag)
ここに私のSQLスクリプトがあります:
select count(1) from table
そこからxcom値をチェックすると、値がcheck_task
取得されnone
ます。