我正在学习气流并且有一个简单的问题。下面是我的 DAG,名为dog_retriever
:
import airflow
from airflow import DAG
from airflow.operators.http_operator import SimpleHttpOperator
from airflow.operators.sensors import HttpSensor
from datetime import datetime, timedelta
import json
default_args = {
'owner': 'Loftium',
'depends_on_past': False,
'start_date': datetime(2017, 10, 9),
'email': 'rachel@loftium.com',
'email_on_failure': False,
'email_on_retry': False,
'retries': 3,
'retry_delay': timedelta(minutes=3),
}
dag = DAG('dog_retriever',
schedule_interval='@once',
default_args=default_args)
t1 = SimpleHttpOperator(
task_id='get_labrador',
method='GET',
http_conn_id='http_default',
endpoint='api/breed/labrador/images',
headers={"Content-Type": "application/json"},
dag=dag)
t2 = SimpleHttpOperator(
task_id='get_breeds',
method='GET',
http_conn_id='http_default',
endpoint='api/breeds/list',
headers={"Content-Type": "application/json"},
dag=dag)
t2.set_upstream(t1)
作为测试 Airflow 的一种方法,我只是在这个非常简单的http://dog.ceo API 中向某些端点发出了两个 GET 请求。目标是学习如何处理通过 Airflow 检索到的一些数据
执行正在运行——我的代码成功调用了任务 t1 和 t2 中的端点,我可以看到它们以基于set_upstream
我编写的规则的正确顺序记录在 Airflow UI 中。
我不知道如何访问这两个任务的 JSON 响应。这似乎很简单,但我无法弄清楚。在 SimpleHtttpOperator 中,我看到了response_check的参数,但没有任何东西可以简单地打印、存储或查看 JSON 响应。
谢谢。