Azure API Management(1)Create APIM And Add First API,创建Azure APIM并添加后端API

本文介绍如下内容:

创建API Management 实例;

向API Management 添加一组后端API;

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

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

去掉APIM对API的订阅保护;

视频演示讲解:

https://www.51azure.cloud/post/2020/8/7/azure-api-management-1-create-apim-and-add-first-api

图文步骤:


 
 
1.创建APIM实例:

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


 
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),参数,返回值等等。

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

https://conferenceapi.azurewebsites.net/speakers

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

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

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

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

 

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

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

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

得到结果如下:


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

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

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." }

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

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


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

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





声明:

点击可查阅本站文章目录 《文章分类目录》

本站所有内容仅代表个人观点,如与官文档冲突,请以官方文档为准。

可在本页面下方留言或通过下方联系方式联系我:

微信:wxyusz;邮箱:shuzhen.yu@foxmail.com

欢迎关注公众号“云计算实战”,接收最新文章推送。

原文地址:https://www.cnblogs.com/shuzhenyu/p/13454208.html