一、简介
阿里云是国内目前最大的公有云提供商,其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功能
您暂时无权查看此隐藏内容!
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表格样式:
内容查看价格9.9元立即支付
注意:本站少数资源收集于网络,如涉及版权等问题请及时与站长联系,我们会在第一时间内与您协商解决。如非特殊说明,本站所有资源解压密码均为:zhangqiongjie.com。
作者:1923002089
评论前必须登录!
注册