本文演示如何通过OpenAPI门户调用云控制API,以专有网络VPC为例,专有网络VPC资源的全生命周期。
前提条件
您需要登录OpenAPI门户,建议使用RAM用户,RAM用户需要以下权限:
1.管理云控制API的权限,请参见RAM用户管理。
2.管理专有网络VPC服务的权限,请参见使用RAM对VPC进行权限管理。
操作步骤
在线调用云控制API,实现专有网络VPC的创建、获取、更新、列举和删除操作。若需集成云控制API,请参考在线调试API门户生成的示例代码。
1.创建专有网络资源
-
使用RAM用户登录OpenAPI门户,进入专有网络资源创建界面后,选择regionId,填写body资源属性的参数值,点击发起调用。右侧示例代码您可选择语言,系统会自动生成代码以供您参考。
body资源属性包括IsDefault、Description(示例值
vpctest)、ResourceGroupId、ClassicLinkEnabled等字段。示例代码中endpoint为cloudcontrol.aliyuncs.com,通过CreateResource方法发起调用。 -
发起调用后,查看调用结果。
若调用报错,请参考去诊断中的日志信息、API文档或公共错误码进行问题分析和解决,也可联系我们。
若调用成功,记录返回信息中的资源ID(resourceId),状态码是200表示为同步操作,即资源创建任务完成;状态码是202表示为异步操作,需要根据返回的taskId进一步查询任务的状态。
说明同步操作与异步操作是程序处理任务执行的两种模式,区别在于,同步操作在任务执行完成后才返回,而异步操作则不等待任务执行完成就返回。
本示例返回状态码 202,响应体中除
resourceId和taskId外,还包含resourcePath(值为VPC/vpc-2zej5wah22u2d)。Response Header 中x-acs-cloudcontrol-timeout: 600表示异步任务的超时时间为 600 秒。 -
示例中调用结果返回的状态码是202,为异步操作,您需要通过taskId查询任务状态。记录taskId,点击查询任务,跳转到查询任务界面。
-
输入taskId,点击发起调用。查看调用结果,调用成功,任务status为Succeeded,VPC资源创建完成。
-
在专有网络管理控制台中查看创建的VPC。
在左侧导航栏单击专有网络,在专有网络列表中找到已创建的VPC实例,确认其状态为可用。
2.获取专有网络资源
进入专有网络资源获取界面后,输入资源ID,选择regionId,点击发起调用。查看调用结果,显示调用成功并返回了资源信息。
示例中 regionId 设为 cn-beijing,调用返回状态码 200,响应体 resourceAttributes 包含 IsDefault: false、Status: Available、Description: vpctest、CidrBlock: 172.16.0.0/12 等字段,请求地址为 cloudcontrol.aliyuncs.com。
3.更新专有网络资源
进入专有网络资源更新界面后,输入资源ID,选择regionId,输入需要更新的参数值,点击发起调用。查看调用结果,验证更新结果可通过专有网络管理控制台或云控制API查看资源信息。
示例中,requestPath 资源ID填写 vpc-2zej5wah22u2d,regionId 选择 cn-beijing,body 中 Description 填写 vpctest update,发起调用后返回状态码 200 表示更新成功。
4.列举专有网络资源
进入专有网络资源列举界面后,选择regionId,点击发起调用。查看调用结果,可以看到资源信息。
例如 regionId 选择 cn-beijing,调用成功后状态码为 200,返回的 JSON 响应中包含 resourceId(如 vpc-2zej5wah22u2d)及 IsDefault、Status、Description 等资源属性。
5.删除专有网络资源
-
进入专有网络资源删除界面后,输入资源ID,选择regionId,点击发起调用,查看调用结果。
调用成功后返回状态码
202,响应体包含requestId和taskId字段,其中taskId(如task-5057a4fbef2bcda286c8ba5c1f)可用于跟踪异步删除任务的执行状态。 -
显示调用成功,返回码202,说明本次调用为异步操作。
进入查询任务界面后,输入taskId,点击发起调用。查看调用结果,任务status为Succeeded,即VPC资源已删除完成。
示例代码
代码地址:https://github.com/aliyun/cloud-control-api-demo
这个仓库提供了云控制API的代码示例,它将帮助您查询资源元数据和管理云资源。