Azure API Management(1)创建Azure APIM并添加后端API

2021/6/20 23:28:33

本文主要是介绍Azure API Management(1)创建Azure APIM并添加后端API,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

本文介绍如下内容:

创建API Management 实例;

向API Management 添加一组后端API;

体验使用Azure Portal 通过APIM测试调用后端API;

体验使用Postman调用 被APIM保护(即为API开启订阅功能)的后端API;

去掉APIM对API的订阅保护;

 

 

视频演示讲解: 

 

 

图文步骤:

 


 
 
1.创建APIM实例:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

创建需要几分钟时间,创建完成转到资源可看到如下界面:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

 


 
2.向API Management 添加一组后端API;

向apim添加api后,将使用apim的url 代替原有后端api的url进行访问。

本文使用了微软官方提供的测试api:https://conferenceapi.azurewebsites.net/?format=json

我们可以先看下这个由微软提的测试api:

将url中的?format=json去掉,可以看到如下页面,该页面描述了这一组api中的每个api的请求类型(get/post),参数,返回值等等。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

我们测试其中某个get请求,以get speakers 为例,在url中直接输入如下地址,即可得到speakers的列表:

https://conferenceapi.azurewebsites.net/speakers

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

 

 

 

 

点击api标签,点击添加 openapi:

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

输入如下地址:https://conferenceapi.azurewebsites.net/?format=json

可以为api增加一个后缀,例如本例中使用了“sean-first-api”作为后缀:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

添加成功后,可以看到如下界面:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

 

3.体验使用Azure Portal 通过APIM测试调用后端API;

可以在Azure Portal 对单个API进行测试,例如我们对get speakers 进行测试,点击要测试的API,点击“Test”,点击“Send”即可得到从后端API返回的结果:

注意,在此过程中,可以修改header,查询参数等;

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

得到结果如下:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

 


 
4.体验使用Postman调用 被APIM保护(即为API开启订阅功能)的后端API;

在请求header中我们注意到如下内容:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Ocp-apim-subscription-key:xxxxxxx-xxxxx

这个key是APIM对API增加的 一种“保护”,防止未经授权的客户端随意对API进行访问。

 

 

我们也可以在浏览器中尝试get speakers api, 原始后端api 可以直接返回结果,使用apim后,则返回:

{ "statusCode": 401, "message": "Access denied due to missing subscription key. Make sure to include subscription key when making requests to an API." }

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

在订阅页面,我们能找到能够顺利调用该api的订阅,将其中的“built-in all access subscription”中的 key 添加到 request header 的 Ocp-apim-subscription-key 里即可访问apim保护的api,

如下图,在postman中设置header,然后可以正确返回结果。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

 


 
5.去掉APIM对API的订阅保护;

如果你的api是要公开给公众使用或其他原因就无需订阅保护,则可以在 api 上setting里,将需要订阅的选框去掉,保存后,即可无需 Ocp-apim-subscription-key  就能正常访问了。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

 

 



这篇关于Azure API Management(1)创建Azure APIM并添加后端API的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程