API 创建完成后,您就可以开放 API 服务了。要开放 API 服务您需要绑定一个在阿里云系统备案成功的独立域名,且该域名要完成 CNAME 解析。而独立域名是绑定在 API 分组上面的,所以在这个部分为您详细说明一下开放 API 服务需要了解的 API 分组和域名。
第一部分:API 分组
API 分组是 API 的管理单元。您创建 API 之前,需要先创建分组,然后在某个分组下创建 API。分组包含名称、描述、区域(Region)、域名几大属性。
- 分组的区域(Region)在分组创建时选定不可更改。创建 API 时,如果选定分组那么 Region 也一同选定,不可更改。
- 每个账号 API 分组个数上限为50个,每个分组 API 个数上限为200个。
- 域名。分组创建时,系统会为分组分配一个二级域名。如果需要开放 API 服务,您需要为分组绑定一个在阿里云系统备案成功的独立域名,且将独立域名 CNAME 到相应的二级域名上。每个分组最多只能绑定5个独立域名。具体请看下文——域名及证书。
第二部分:环境管理
关于环境需要理解两个概念,[backcolor=transparent]环境和[backcolor=transparent]环境变量。
[backcolor=transparent]环境是 API 分组上的一个配置,每个分组有若干个环境。 API 录入后,未经发布时,就只是 API 定义。发布到某个环境后才是能够对外提供服务的 API 。
[backcolor=transparent]环境变量是在环境上用户可创建可管理的一种变量,该配置是固定于环境上的。如在线上环境创建变量,变量名为 [backcolor=transparent]Path,变量值为 [backcolor=transparent]/stage/release.
在 API 定义中的 [backcolor=transparent]Path 位置,写作 [backcolor=transparent]#Path#,即配置为变量标识,变量名为 [backcolor=transparent]Path。
那么将该 API 发布到线上环境时,该 API 在线上环境的运行定义,Path 处的 [backcolor=transparent]#Path#,会取值为 [backcolor=transparent]/stage/release。
而将该 API 发布到其他环境时,若环境上没有环境变量 [backcolor=transparent]#Path#,则无法取值,那么 API 就无法调用。
使用环境变量可以解决后端服务需要区分环境的问题,通过不同的环境上配置不同的服务地址和Path,来调用不同的后端服务,同时 API 的定义配置又是一套。使用时需要注意以下几点:
- 在 API 定义中配置了变量标识后,在 API [backcolor=transparent]列表—管理—调试 页面将无法调试。
- 变量名严格区分大小写。
- 如果在 API 定义中设置了变量,那么一定要在要发布的环境上配置 [backcolor=transparent]变量名和[backcolor=transparent]变量值,否则变量无赋值, API 将无法正常调用。
第三部分:域名及证书
API 网关通过域名来定位到一个唯一的 API 分组,再通过 [backcolor=transparent]Path+HTTPMethod 确定唯一的 API 。如果要开放 API 服务,您需要了解 [backcolor=transparent]二级域名 和 [backcolor=transparent]独立域名。
- [backcolor=transparent]二级域名是分组创建时系统分配的,唯一且不可更改。在您还没有独立域名之前,您可以通过访问二级域名来测试调用您的 API 。二级域名仅能用于测试,默认每天只能请求1000次。
[backcolor=transparent]独立域名即自定义域名,是您开放 API 服务需要绑定的,用户通过访问您的独立域名来调用您开放的 API 服务。您可以为一个分组绑定多个独立域名,上限为5个。对于独立域名的配置您需要注意以下几点:
独立域名不必须是根域名,可以是二级、三级域名。
独立域名如果尚未备案,则可以在阿里云做 首次备案。
独立域名若已在其他系统备案,则需要在阿里云做 备案接入。
独立域名需要 CNAME 解析到分组的二级域名上。
满足上述的备案和解析两个要求,域名才能成功绑定。
当您的 API 服务支持 HTTPS 协议时,需要为该域名上传 SSL 证书,在 [backcolor=transparent]分组详情 页面进行添加即可。SSL 证书上传不支持文件上传,需要填写 [backcolor=transparent]证书名称、[backcolor=transparent]内容 和 [backcolor=transparent]私钥。
第四部分:测试、线上、授权
通过上述操作您已经完成 API 的创建和域名绑定,接下来就可以将 API 发布到测试或者线上环境,进行调试和开放了。其中一个重要的环节是授权,授权即授予某个 APP 可以调用某个 API 的权限。
- 当您完成 API 创建之后,您就可以将 API 发布到测试或者线上,并给自己创建的 APP 授权,通过访问二级域名来调用指定环境中的 API,进行测试。
- 成功绑定独立域名之后,您的 API 就可以在市场上架,供客户购买、调用。您还可以不经过购买将 API 授权给合作伙伴的 APP,供其调用。
[backcolor=transparent]至此,您完成 API 服务的开放。在 API 创建到开放的整个过程中,您还可以随时操作 API 的创建、修改、删除、查看、测试、发布、下线、授权、解除授权、发布历史及版本切换等操作。