为什么要用云控制API管理云资源
随着云计算服务业务越来越丰富,很多云厂商为客户提供的相关的API数量也多达上万个。而在云服务被集成过程中,客户/伙伴面对上万单点API往往无从下手。从“找到正确API”到“了解使用方式”再到“弄清楚上下游关系”,可谓费时费力。导致开发者集成“体验下降”、“效率降低”并“提升了规模化的门槛”。如何减少云厂商的API的数量和降低客户使用API的学习成本是影响云规模化一个关键问题。
云控制API的出现可以有效的解决这个问题,客户可以通过云控制API访问云上所有的产品和资源类型,而无需熟悉底层云产品的API, 免去开发者学习上百个产品、上万个OpenAPI的差异化成本;让开发者无需维护多套SDK、学习多个产品的OpenAPI。在极大降低学习成本和代码复杂度的同时,能够在云产品新特性发布时,通过简单新增资源属性即可完成新特性集成。
本文以专用网络资源为例,为您介绍如何通过云控制API实现专有网络VPC资源的全生命周期管控,其它资源的管理方法和本文一致。
适用场景
适用于任何管理阿里云资源的场景。
前提条件
1.您需要首先授予云控制API的RAM权限,具体操作见为RAM用户授权。
2.接着需要对专用网络VPC进行授权,具体操作见使用RAM对VPC进行权限管理。
操作步骤
1.创建专有网络资源
您可以通过在线调试API门户填写如下参数进行测试创建专有网络资源,填写需要创建的资源属性。云控制API在线调试工具将自动为您生成示例代码:
![OBEZ OpenAPI 11P..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675590.png)
调用成功后,根据返回的HTTP状态码判断本次操作为同步还是异步。如果返回200,则表示操作为同步,直接获取resourceId即可;如果返回202,则表示操作为异步,需根据返回的taskId查询异步任务的具体状态,异步任务的超时时间可从返回的Header中x-acs-cloudcontrol-timeout获取,单位为秒。
![cccd142f-f62f-4512-b9dd-1195cc187404..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675592.png)
![e30f4ca2-cf10-49e8-a97b-ebe81352e7aa..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675593.png)
可以看到创建VPC返回了taskId, 进一步查询Task状态。
![f717f7eb-f60f-45ed-8bb5-f21118f6280e..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675595.png)
![8660559e-2c91-49c2-b8d0-5600aeeeb76c..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675597.png)
可以看到Task状态为已成功,表示VPC资源已创建成功。
2.更新专有网络资源
当资源创建成功后,就可进行资源更新。
您可以通过在线调试API门户填写如下参数进行测试更新专有网络资源,填写需要更新的资源ID和属性。云控制API在线调试工具将自动为您生成示例代码:
![9997dcfb-5861-4b4f-bdb1-bb8f04c90a60..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675598.png)
发起调用
![4f88624a-33d6-4fdb-99da-ee001da117f0..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675599.png)
返回的HTTP状态码为200,说明本次操作为同步操作,资源已更新成功。
3.查询专有网络资源
您可以通过在线调试API门户填写如下参数进行测试查询专有网络资源,填写需要查询的资源ID。云控制API在线调试工具将自动为您生成示例代码:
![0c29661a-be84-4b0c-aaeb-859af2a42aa3..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675600.png)
查询操作一定是同步操作,返回资源结果如上图。
4.列举专有网络资源
您可以通过在线调试API门户填写如下参数进行测试列举专有网络资源。云控制API在线调试工具将自动为您生成示例代码:
![29fe9645-c183-4f9f-aafc-1205d0025ca8..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675603.png)
列举操作一定是同步操作,返回资源结果如上图。
5.删除专有网络资源
最后可以将本次测试资源删除。
您可以通过在线调试API门户填写如下参数进行测试删除专有网络资源,填写需要删除的资源ID。云控制API在线调试工具将自动为您生成示例代码:
![fe5d9560-0f9f-4a4c-87b6-4ee587b66225..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675604.png)
返回的HTTP状态码为202,说明本次操作为异步操作,需进一步查询Task状态。
![2154edd8-21dc-43e6-a73d-ea123a490525..png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/0695235861/p675605.png)
删除任务已成功,该专用网络资源已被删除。
示例代码
代码地址:https://github.com/aliyun/cloud-control-api-demo
这个仓库提供了云控制api的代码示例,它将帮助您查询资源元数据和管理云资源。