注册API
本文将为您介绍如何将已有的后端服务API,借助数据服务统一注册发布到API网关,与通过数据服务生成的API进行统一管理。
目前数据服务共享版支持Restful风格的API注册,包含GET/POST常见请求方式。
配置API基本信息
- 在DataArts Studio控制台首页,选择实例,单击“进入控制台”,选择对应工作空间的“数据服务”模块,进入数据服务页面。
图1 选择数据服务
- 在左侧导航栏选择服务共享版,进入总览页。
- 进入“注册现有API”,填写API基本信息。
表1 API基本信息 配置
说明
API名称
支持中文、英文、数字、下划线,且只能以英文或中文开头,3-64个字符。
API目录
一个特定功能或场景的API集合,是数据服务中API的最小组织单元,也是API网关中的最小管理单元。
您可单击“新建”进行新建,也可选择新建API目录已创建的API分组。
请求Path
资源路径,也即API访问路径。
示例:/v2/{project_id}/streams
协议
用于传输请求的协议,支持HTTP和HTTPS协议。
请求方式
HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。
GET:请求服务器返回指定资源。
POST:请求服务器新增资源或执行特殊操作,注册API时推荐使用。POST请求当前不支持body体,而是直接透传。
描述
对API进行简要描述。
标签
用户自定义输入,只能包含中文、英文字母、数字和下划线,且不能以下划线开头。
审核人
拥有API的审核权限。
单击“新建”,进入 页面,新建审核人。
安全认证
创建API时,有如下三种认证方式可选。三种方式的区别在于认证方式和调用方法不同,推荐使用安全性更高的“APP认证方式”。- “APP认证方式”:API调用者通过APP认证方式调用API。Appkey & Appsecret安全级别高,推荐使用。
使用APP认证时,需要通过SDK访问,其中SDK访问提供了基于Java、Go、Python、JavaScript、C#、PHP、C++、C、Android等多种语言的SDK包。各语言调用API示例请参考使用APP认证调用API章节。
- “IAM认证”:需要借助IAM服务进行安全认证。IAM认证只允许华为云用户访问,安全级别中等。
使用IAM认证时,需要通过调用IAM服务的获取用户Token接口获取Token,然后通过在请求消息头中添加“X-Auth-Token”参数并将所获取的Token作为参数值,再通过API调用工具或SDK方式调用已发布的API。
- “无认证”:不需要认证。安全级别低,所有用户均可访问,建议仅在测试接口时使用,不推荐正式使用。若调用方为不可信任用户,则存在数据库安全风险(如数据泄露、数据库高并发访问导致宕机、SQL注入等风险)。
使用无认证方式时,无需鉴权认证信息。通过API调用工具或SDK方式,直接使用已发布API域名并填写入参即可进行调用。
服务目录可见性
发布后,所选范围内的用户均可以在服务目录中看到此API。
- 当前工作空间可见
- 当前项目可见
- 当前租户可见
访问日志
勾选,则此API的查询结果将会产生记录并被保留7天,可以在“运营管理 > 访问日志”处通过选择“请求日期”的方式查看对应日期的日志。
最低保留期限
API解绑前预留的最低期限。 API进行停用/下线/取消授权时, 会通知已授权用户, 并为用户预留至少X小时, 直到所有授权用户均完成解除或处理,或者到达截止时间, API才会停用/下线/取消授权。0表示不设限制。
入参定义
配置API请求中的参数,包含资源路径中的动态参数,请求URI中的查询参数和Header参数。
以配置资源路径中的动态参数为例进行说明,例如资源路径(请求Path)设置为:
/v2/{project_id}/streams,资源路径中的{project_id}为动态参数,需要在此进行配置。
- 单击“添加”,参数名配置为project_id。
- 参数位置选择PATH。
- 类型设置为STRING。
- 选择性配置示例值和描述。
页面,单击 - “APP认证方式”:API调用者通过APP认证方式调用API。Appkey & Appsecret安全级别高,推荐使用。
- 配置好API基本信息后,单击“下一步”,即可进入API取数逻辑页面。
配置API参数
配置API基本信息后,即可配置API参数。这里将配置API的后端服务和请求参数。
配置 |
说明 |
---|---|
协议 |
用于传输请求的协议,支持HTTP和HTTPS协议。 用于数据服务模块向待注册API服务传输请求。 |
请求方式 |
HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。用于数据服务模块向待注册API服务传输请求。 GET:请求服务器返回指定资源。 POST:请求服务器新增资源或执行特殊操作。 |
后端服务HOST |
待注册API服务所在的Host,不能以http://或https://开头,并且不包含Path。 |
后端服务PATH |
待注册API服务所在的Path,Path中支持参数,参数要放在{}中,如/user/{userid}。 |
后端超时(ms) |
设置后端超时时间。 |
后端服务参数 |
请求参数位置支持Path、Header、Query,不同的请求方式所支持的可选参数位置不一样,请根据产品上提供的可选项按需选择。 |
常量参数 |
常量参数即参数值是固定的参数,对调用者不可见,API调用时不需传入常量参数,但后台服务始终接收这里定义好的常量参数及参数值。适用于当您希望把API的某个参数的取值固定为某个值以及要对调用者隐藏参数的场景。 |
API测试
完成API参数的配置并保存后,单击左下角的“开始测试”,可进入API测试环节。
- 测试过程中,当数据服务API查询返回值超过默认30秒无结果时,会报超时错误。
- 如果测试失败,请仔细查看错误提示并做相应的修改重新测试。
完成API测试之后,单击“确定”,即完成注册数据API。