本文以Python SDK为例,为您介绍如何通过OpenAPI调用ListStacks接口查询资源栈列表。
步骤一:查看OpenAPI文档
阅读API概览,选择可以查询资源栈列表的OpenAPI:ListStacks - 查询资源栈列表。根据接口文档,了解调用该接口需要的参数及权限。
步骤二:创建RAM用户并授权
身份
您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异请参见身份、凭据、授权。
本案例中,我们使用RAM用户进行接口调用。登录RAM访问控制,创建一个仅允许API调用的RAM用户,记录AK信息,具体操作,请参见创建RAM用户。
凭证
在创建RAM用户时会默认生成一个AccessKey,可直接使用。您也可以进入到对应的RAM用户详情页,在认证管理页签下的AccessKey区域,单击创建AccessKey,创建一个新的AccessKey。具体操作,请参见创建AccessKey。
RAM用户的AccessKey Secret只在创建时显示,不支持查看,请注意保存。
授权
访问RAM用户列表,单击目标RAM用户操作列的添加权限。
在权限策略区块中输入关键字
ros
进行搜索,根据最小授权原则,选择对应权限策略。AliyunROSFullAccess:管理资源编排服务(ROS)的权限。
AliyunROSReadOnlyAccess:只读访问资源编排服务(ROS)的权限。
本文示例选择AliyunROSReadOnlyAccess系统策略。
单击确定,完成授权操作。
步骤三:调用OpenAPI
本文以Python SDK调用OpenAPI,其他语言SDK的用法类似。更多信息,请参见ROS SDK。您也可根据业务的实际需要选择其他调用方式,更多调用方法请参见调用方式。
准备Python环境
下载并安装Python 3。
安装完成后,在终端中输入python --version
,查看Python版本。
配置环境变量
为避免将AccessKey硬编码到业务代码中带来的安全风险,本示例采用配置环境变量的方法管理AccessKey。具体操作,请参见在Linux、macOS和Windows系统配置环境变量。
安装依赖
pip install alibabacloud_credentials
pip install alibabacloud_ros20190910==3.2.28
pip install alibabacloud_tea_console
下载示例代码
在OpenAPI门户,访问ListStacks调试地址。
输入请求参数RegionId为cn-hangzhou,其他参数均可不填写,直接单击发起调用。
在SDK示例页签下的Python页签,单击下载完整工程,下载Python SDK示例代码包。
在本地解压示例代码包,并进入alibabacloud_sample目录。
运行示例代码
执行以下命令:
python sample.py
得到如下输出结果:
{
"TotalCount": 1,
"PageSize": 10,
"RequestId": "692E6895-AEFC-550C-B968-AE929BB68891",
"PageNumber": 1,
"Stacks": [
{
"Status": "IMPORT_CREATE_COMPLETE",
"OperationInfo": {},
"ResourceGroupId": "rg-acfmz7hmshz****",
"ServiceManaged": false,
"StatusReason": "Stack IMPORT_CREATE completed successfully",
"CreateTime": "2023-06-26T09:40:26",
"StackType": "ROS",
"RegionId": "cn-hangzhou",
"DisableRollback": false,
"StackName": "TemplateScratch-ResourceImport-wffTp****",
"Tags": [
{
"Value": "rg-acfmz7hmshzcriy",
"Key": "acs:rm:rgId"
}
],
"TimeoutInMinutes": 60,
"StackId": "814d2113-348c-41f1-adb2-85d3aadf****"
}
]
}