分享交流
合作共赢!

Python调用阿里云API接口实现自定义功能【一】——DescribeInstance

一、简介

阿里云是国内目前最大的公有云提供商,其API接口非常多,可以满足我们自定义功能的实现,此处比较权威的内部文档免费分享下载:

二、调用方法步骤

1.安装阿里云Python SDK

按照文档介绍步骤先根据自己的Python版本,导入阿里云对应的Python SDK

2.封装类

本示例实现导出ECS信息的功能,封装3各类进行调用

1.第一个类:ConnectToAscm

实现与阿里云平台之间的交互,数据请求和接收;

#!/usr/bin/env python
# coding=utf-8
# author:zhangqiongjie
# Email: zhangqiongjie@zhangqiongjie.com

from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkecs.request.v20140526 import DescribeInstancesRequest


class ConnectToAscm:
def __init__(self, product_name, secret_id, secret_key,endpoint='ecs-internal.res.cloud.sh.cegn.cn',region_id = 'cn-shanghai-cyy-d01'):
self._secret_id = secret_id
self._secret_key = secret_key
self._product_name = product_name
self._endpoint = endpoint
self._region_id = region_id

# 创建client
def clt_create(self):
region_provider.modify_point(self._product_name, self._region_id, self._endpoint)
clt = client.AcsClient(self._secret_id, self._secret_key, self._region_id)
return clt

# 发起请求
def request_ascm(self):
request = DescribeInstancesRequest.DescribeInstancesRequest()
request.set_accept_format('json')
request.set_PageSize(10)
request.set_PageNumber(1)
request.set_version('2014-05-26')
return request

# 处理应答
def response_ascm(self):
response = self.clt_create().do_action_with_exception(self.request_ascm())
return response

2.第二个类:InstanceInfoToExcel

实现格式化、提取自定义数据,并将数据写入Excel功能

此内容查看价格9.9立即购买

3.第三个类:ascm_ak

按照企业架构将一级组织的AccessKey ID和AccessKey Secret进行封装,实现主函数按不同需求分别调用的功能(由于企业隐私安全信息不可泄露,下面只给出一个方法实例,按照自己需求,重复添加多个即可

#!/usr/bin/env python
# coding=utf-8
# author:zhangqiongjie
# Email: zhangqiongjie@zhangqiongjie.com

class ascm_ak:
def ChanHuTest(self):
akDic = {'orgName':'产互云能力部测试','secret_id':'AccessKey ID','secret_key':'AccessKey Secret'}
return akDic

3.主函数调用

实现将自定义ECS信息导入EXCEL表格功能

import ConnectToAscm
import InstanceInfoToExcel
import ascm_ak

# 获取Instance信息
def GetInstanceInfo():
# 一级组织
ak = ascm_ak.ascm_ak().ChanHuTest()
# 产品
product_name = 'Ecs'
# 保存路径
file = 'C:/Users/张琼杰/Desktop/aliyunSystemToExcel.xlsx'

# 请求数据
ascm = ConnectToAscm.ConnectToAscm(product_name=product_name,secret_id=ak['secret_id'], secret_key=ak['secret_key'])
data = ascm.response_ascm()

# 写入Excel
instanceInfo = InstanceInfoToExcel.InstanceInfoToExcel()
instanceInfo.write_excel(file,data)


if __name__ == "__main__":
GetInstanceInfo()

导出Excel表格样式:

赞(1) 打赏
未经允许不得转载:琼杰笔记 » Python调用阿里云API接口实现自定义功能【一】——DescribeInstance

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册