调用平台 API

简介 #

SmartPip 基于 Apache Airflow 构建,支持所有 Airflow REST API 接口。通过 SmartChart 的 API 服务功能,可以更便捷地调用任务调度接口,实现自动化触发、状态查询等操作。

API 调用前置条件 #

步骤 说明
1 在 SmartChart 新建 Python 数据集
2 引入 get_auth_hearder() 获取认证头
3 调用 SmartPip API 接口

调用示例 #

以下以触发调度为例

  • 在smartchart数据集中新建一个python数据源的数据集
  • 填写如下代码
from etl.smartpip import get_auth_hearder
import requests
header=get_auth_hearder()
url='{smartpip_url}/api/v1/dags/{dag_id}/dagRuns'
ds=requests.post(url=url,headers=header,json={"conf":{}}).json()
  • 如果你想先获取DAG的执行状态再触发,可以增加如下判断
from etl.smartpip import get_auth_hearder
import requests
header=get_auth_hearder()
url='{smartpip_url}/api/v1/dags/{dag_id}/dagRuns?limit=1&order_by=-execution_date'
ds=requests.get(url=url,headers=header).json()
status=ds['dag_runs'][0]['state']
if status!='running':
    url='{smartpip_url}/api/v1/dags/{dag_id}/dagRuns'
    ds=requests.post(url=url,headers=header,json={"conf":{}}).json()