一、为什么要用云控制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在线调试工具将自动为您生成示例代码:
调用成功后,根据返回的HTTP状态码判断本次操作为同步还是异步。如果返回200,则表示操作为同步,直接获取resourceId即可;如果返回202,则表示操作为异步,需根据返回的taskId查询异步任务的具体状态,异步任务的超时时间可从返回的Header中x-acs-cloudcontrol-timeout获取,单位为秒。
可以看到创建VPC返回了taskId, 进一步查询Task状态。
可以看到Task状态为已成功,表示VPC资源已创建成功。
2.更新专有网络资源
当资源创建成功后,就可进行资源更新。
您可以通过在线调试API门户填写如下参数进行测试更新专有网络资源,填写需要更新的资源ID和属性。云控制API在线调试工具将自动为您生成示例代码:
发起调用
返回的HTTP状态码为200,说明本次操作为同步操作,资源已更新成功。
3.查询专有网络资源
您可以通过在线调试API门户填写如下参数进行测试查询专有网络资源,填写需要查询的资源ID。云控制API在线调试工具将自动为您生成示例代码:
查询操作一定是同步操作,返回资源结果如上图。
4.列举专有网络资源
您可以通过在线调试API门户填写如下参数进行测试列举专有网络资源。云控制API在线调试工具将自动为您生成示例代码:
列举操作一定是同步操作,返回资源结果如上图。
5.删除专有网络资源
最后可以将本次测试资源删除。
您可以通过在线调试API门户填写如下参数进行测试删除专有网络资源,填写需要删除的资源ID。云控制API在线调试工具将自动为您生成示例代码:
返回的HTTP状态码为202,说明本次操作为异步操作,需进一步查询Task状态。
删除任务已成功,该专用网络资源已被删除。
五、代码示例
代码地址:https://github.com/aliyun/cloud-control-api-demo
这个仓库提供了云控制api的代码示例,它将帮助您查询资源元数据和管理云资源。