本文是APIM系列的一部分,完整内容参见:

  1. (视频)Azure API Management(1)创建Azure APIM并添加后端API
  2. (视频)Azure API Management(2)创建 Product/User/Subscription/体验Developer Portal
  3. (视频)Azure API Management(3)体验APIM Policy-流控/隐藏后端api url/修改response header
  4. (视频)Azure API Management(4)体验APIM 版本管理
  5. (视频)Azure API Management(5)缓存
  6. (视频)Azure API Management(6)Validate JWT Token

 

 


本文介绍如下内容:

  1. 管理员(也就是API的提供者)从Azure Portal 导入后端API

  2. 管理员在Azure Portal 对导入的API进行设置,比如增加流控等功能

  3. 管理员在Azure Portal创建一个包含一组或多组API的产品并发布

  4. 管理员在Azure Portal发布开发人员门户(通常该步骤仅执行一次)

  5. 用户从开发人员门户自主注册或者从管理员从Azure Portal上注册用户

  6. 管理员从Azure门户上为用户创建订阅

  7. 用户在开发人员门户学习如何调用API并做测试

  8. 用户在自己的业务系统中调用API

 

 

视频介绍:

 

 

 


图文介绍:

 

几个重要的概念:

 

1. API

导入或者在Azure Portal上创建的 一组API或者多组API,例如导入了一组订单相关API和一组库存相关API;

 

2.产品

产品包含至少一组API,通常产品把多组API打包在一起,形成一个包含多种功能的一个集合,例如:定义了一个产品“进销存”,该产品包含一组 订单相关的API和一组库存相关的API;

 

3.用户

这里的用户通常指使用API Management 的人员,其中包含要调用你发布的API的开发人员。

 

4.组

组指的用户组,一个组可以包含多个成员,也就是包含多个“用户”,系统内置了“Administrator”,“Developer”,“Guests”三个组。

5.订阅

订阅决定了哪个”用户“可以调用哪个“API”或者哪个“产品”。

订阅是绑定到“用户”上的,订阅能控制某个API或某个产品。

6.开发人员门户(developer portal)

通常情况下,开发人员门户是提供给“用户”,也就是要调用你API的人员使用的一个门户网站。

用户可以在这个网站维护自己的账号信息,查看自己的订阅信息,查看API文档/在线测试API。

默认情况下,他的url后半部分为:developer.azure-api.net;

可以在开发人员门户上提交注册信息,根据配置,可能需要审核或自动完成审核,然后便成了“用户”,用户可以根据API及产品是否需要订阅或者订阅权限调用对应的API。

在开发人员门户上自主注册的用户,默认自动分配到“Developer”组中。

 

 


 

通常整体的使用流程是:

 

  1. 管理员(也就是API的提供者)从Azure Portal 导入后端API
  2. 管理员在Azure Portal 对导入的API进行设置,比如增加流控等功能
  3. 管理员在Azure Portal创建一个包含一组或多组API的产品并发布
  4. 管理员在Azure Portal发布开发人员门户(通常该步骤仅执行一次)
  5. 用户从开发人员门户自主注册或者从管理员从Azure Portal上注册用户
  6. 管理员从Azure门户上为用户创建订阅
  7. 用户在开发人员门户学习如何调用API并做测试
  8. 用户在自己的业务系统中调用API

 


 
1.管理员(也就是API的提供者)从Azure Portal 导入后端API

上一讲分享的内容中,我们已经完成了API的导入,本文不再赘述,如果您尚未完成API导入,请参照《Azure API Management(1)Create APIM And Add First API,创建Azure APIM并添加后端API

 


 
2.管理员在Azure Portal 对导入的API进行设置,比如增加流控等功能

流控等功能我们在以后的章节中介绍,本文可以跳过这个步骤。

 


 

3.管理员在Azure Portal创建一个包含一组或多组API的产品并发布

注意:

3处的状态为“未发布”,未发布的产品不会在开发者门户中看到。稍后需要执行”发布产品“操作后,才会出现在开发者门户中;

3处的“需要订阅”如果不勾选,则用户在开发者门户中无需订阅即可进行该产品关联api的调用;

5处的API可以选择多个或者一个;

 

产品创建完成后,默认的访问控制组在“Administrator”中,如果需要被“开发者么户”中创建的用户访问,则需要添加“developers”组,因为从门户自主注册的用户,默认为“developers”组:

 

发布产品,只有发布后的产品,才会显示在开发人员门户中:

 

 

 
4.管理员在Azure Portal发布开发人员门户(通常该步骤仅执行一次)

注意:如果不开启cors,则用户在开发人员门户上无法测试api调用。

 


 

5.用户从开发人员门户自主注册或者从管理员从Azure Portal上注册用户

点击开发人员门户可以进入开发人员门户,此时是管理员默认登录对门户的编辑模式,需要切换浏览器,才能以新的用户session访问开发人员门户:

 

点击右上角注册:

默认注册使用邮箱和密码方式:

在邮箱中查收验证邮件并验证邮箱:

 

登录开发人员门户:

登录成功,看到如下页面:

 

查看profile:

注意,此时新用户并没有任何subscription,稍后我们将在Azure Portal 为用户添加订阅。

 


 
6.管理员从Azure门户上为用户创建订阅

在Azure Poral中查看刚注册成功的用户:

用户即开发人员,也就是要使用你api的人员;

从developer portal自主创建的用户,默认在 “developer”组中。

 

 

为用户创建分配订阅:

在用户页面点击订阅,添加订阅:

 

 

新建订阅可以产品级别或者API级别的订阅,本例选择产品级别的订阅,并选择刚才发布的产品。

 

在下拉列表中选择刚才发布的产品,然后创建订阅。

用户可以在开发人员门户中查看管理员为你分配的订阅:

在developer portal 中查看分配的订阅:

 


 
 
7.用户在开发人员门户学习如何调用API并做测试

在开发人员portal中进行api测试:

 

subscription key 在创建时是有作用范围的,本例中,我们将subscription key 的权限绑定到 “new-product”上,因此,该key在其他product或者其为包含在“new-product”里的api,都是无效的:

如下图,我们用subscription key对 echo api进行访问,结果为 401:

 

 


 

8. 用户在自己的业务系统中调用API

针对多语言的示例代码,将代码集成到自己的业务系统中,完成API调用开发。