API 调用之阿里云入门

cmdb 中客户端相关的操作,在公有云中通过调用其提供的 API 就可以获取所有信息。
以阿里云 API 使用为例

获取密钥

登录阿里云,右上角头像 –> accesskeys,进入用户信息管理页面
安全信息管理,显示用户AccessKey,若没有可以创建
记录 AccessKey ID 和 Access Key Secret 信息,用于访问 API 的密钥

相关文档

使用两个地址,分别是 help.aliyun.comapi.aliyun.com

help.aliyun.com

通过帮助文档,找到 API 相关章节,选择所属主机分类,可以查看到所有可以调用的 API,根据自己需要选择即可。
api-aliyun-help

api.cliyun.com

通过 API Exploer,选择云服务器,然后输入对应接口名称,填写标红的必填项,可视化生成对应 SDK 的示例代码,很方便
api-aliyun-exploer

python SDK 安装

SDK 核心库安装

python2

1
pip install aliyun-python-sdk-core

python3

1
pip install aliyun-python-sdk-core-v3

云产品 SDK 安装

1
pip install aliyun-python-sdk-ecs

示例代码

通过 DescribeInstanceStatus 查询当前用户所有实例状态信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
client = AcsClient('<AccessKeyId>', '<AccessKeySecret>', 'cn-beijing')

request = CommonRequest()
request.set_accept_format('json')
request.set_domain('ecs.aliyuncs.com')
request.set_method('POST')
request.set_version('2014-05-26')
request.set_action_name('DescribeInstanceStatus')

request.add_query_param('RegionId', 'cn-beijing')

response = client.do_action(request)
# python2: print(response)
print(str(response, encoding = 'utf-8'))

输出结果

1
{"PageNumber":1,"InstanceStatuses":{"InstanceStatus":[]},"TotalCount":0,"PageSize":10,"RequestId":"27892F62-31C3-4915-AA8B-2E65EE3A3A6A"}

参数说明

  • PageNumer 页码
  • InstanceStatuses 所有实例
  • InstanceStatus 单个实例
  • TotalCount 总数
  • PageSize 每一页显示几条
  • Requestid 结果id,通过结果id可以查询执行状态

Recommended Posts