Как вытащить xCom в оператор HttpSensor - PullRequest
0 голосов
/ 27 июня 2019

Я хочу вызвать API, которому нужны данные предыдущей задачи, которые я сохранил в xCom. Как получить доступ к этому xCom.

Я использую HttpOperater, а также HttpSensor для вызова API.

1 Ответ

0 голосов
/ 27 июня 2019

вам нужно использовать метод xcom_pull в контексте:

http_task = SimpleHttpOperator(
    task_id='http_call',
    endpoint='nodes/url',
    data="name=Joe",
    headers={"Content-Type": "application/x-www-form-urlencoded"},
    dag=dag,
)

def get_http_payload(**context):
    http_payload = ['ti'].xcom_pull(task_ids='http_call')
    print(http_payload)

process_output = PythonOperator(
    task_id='process_stuff',
    python_callable=get_http_payload,
    provide_context=True,
    dag=dag,
)

http_task >> process_output
...