限制条件
通过IP白名单调用方式仅在私有网关下支持,公共云网关及专有云网关均不支持该方式调用。
1. 系统设置开启应用IP白名单
1.1 Dataphin V3.14及以上版本
路径:数据服务-管理-系统配置
操作:API调用鉴权配置,“是否开启应用IP白名单”设置为“开启”
1.2 Dataphin V3.13及以前的版本
Dataphin V3.13及以前的版本不支持界面化开启或关闭使用白名单鉴权,需要提交申请到Dataphin运维团队进行后台的配置。
2. 调用应用中设置IP白名单
路径:数据服务 - 调用 - 应用管理 - 应用IP白名单配置
操作:
- IP白名单调用:开启
- 添加调用方应用程序所在的IP地址
3. 应用程序调用API
3.1 获取API服务的域名
需要获取API网关的域名地址,用于API调用。
进入 数据服务 -> 管理 -> 网络配置,开启域名开关,可看到API域名信息。该域名将在后续步骤中使用。
3.2 获取应用的AppKey
需要应用的AppKey,用于API调用。
进入 数据服务 -> 调用 -> 应用管理,获取对应的应用的AppKey。该AppKey即为后续应用调用时的识别码,在调用API作为参数传入。
3.3 获取API ID、协议及请求方式
路径:数据服务 -> 市场 -> API服务
选择需要调用的API,点击“API文档”
在API中文档中,获取APP_ID、请求方式、协议。
3.4 在应用程序中调用API
可在应用程序中通过HTTP/HTTPS调用API,配置参数如下:
- URL:scheme://host/request_method/API_ID?appKey=appKeyValue[&env=env_value]
- scheme:HTTP。访问协议,私有网关下仅支持HTTP,不支持HTTPS
- host:在3.1 获取API服务的域名中获取的API服务的域名
- request_method:需要调用的API的请求方式
- appKeyValue:在 3.2获取应用的AppKey 中获取的应用的AppKey
- env_value:可选择填写PROD、PRE,根据API的不同模式,可查询不同的环境
API模式 |
PROD |
PRE |
Basic |
访问线上生产环境的API |
不支持输入PRE |
Dev-Prod |
访问线上生产环境的API,且访问生产环境的数据源中的数据 |
访问线上开发环境的API,且对于开发环境的数据源中的数据 |
2)Headers参数
参数名称 |
是否必填 |
说明 |
示例值 |
x-ca-key |
是 |
输入应用对应的AppKey |
12345667 |
whitelist-flag |
是 |
输入固定值1 |
1 |
Content-Type |
是 |
application/json |
application/json |
6)Body格式:JSON
{ "conditions": {"queryfield1":queryvalue1}, "pageStart":0, "pageSize":10, "orderBys": [ {"field":"字段名名称","order":"DESC"} ], "returnFields": [ "returnField1","returnField2" ], "useModelCache": false, "useResultCache": false }
Body参数说明:
参数名称 |
说明 |
conditions |
queryfield1为请求参数名称,queryvalue1为请求参数输入值 |
pageStart |
分页码 |
pageSize |
每页数量 |
orderBys |
排序参数设置。如果查询是分页的,为了保障每次分页的稳定性,需要指定orderBys的字段。 |
returnFields |
API返回参数集合,返回参数名称 |
useModelCache |
查询参数是否缓存 |
useResultCache |
结果是否缓存 |
3.5 Postman调用示例
- Scheme:Post
- URL:根据数据服务的域名、API ID、API请求方式、调用应用的appKey值,拼接出URL
- Headers:
- Body信息