Python3获取ECS相关信息

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 使用python获取帐号下ecs 信息

aliyun-openapi-python-sdk  ecs api概览传送门 Openapi


pip3 install  aliyun-python-sdk-core
pip3 install aliyun-python-sdk-ecs



# -*- coding: utf-8 -*-

'''
Copyright (c) 2018, mersap
All rights reserved.

摘    要: base aliyun ecs api.py
创 建 者: mersap
创建日期: 2019-01-30
'''
import json
from aliyunsdkcore import client
from aliyunsdkcore.request import CommonRequest
from aliyunsdkecs.request.v20140526 import DescribeInstancesRequest

KEYS = client.AcsClient(
    "aaaaaaaa",
    "bbbbbbbbbbbbb",
    "cn-beijing")
class AliyunEcsHandler(object):
    """docstring for Ali"""
    def DescribeInstances(self, client, page_num=1, innerip='', instanceids=''):
        """
        :DescribeInstances(client=KEYS,innerip='"10.10.10.10","10.10.10.11"')
        """

        request = DescribeInstancesRequest.DescribeInstancesRequest()
        request.set_PageNumber(page_num)
        request.set_PageSize(100)
        if not len(innerip) == 0:
            request.set_InnerIpAddresses('[{}]'.format(innerip))
        if not len(instanceids) == 0:
            request.set_InstanceIds('[{}]'.format(instanceids))
        response = client.do_action_with_exception(request)
        return json.loads(response)



    def Instances_Details(self, client):
        """获取帐号下所有主机信息:  所有
        :params client:阿里云accesskey
        """
        ecs_details = self.DescribeInstances(client)
        totalcount = ecs_details['TotalCount']
        for num in range(2, int(totalcount/100)+2):
            ecs_detail = self.DescribeInstances(client=client, page_num=num)
            for ecs in  ecs_detail["Instances"]["Instance"]:          
                ecs_details["Instances"]["Instance"].append(ecs)
        return  ecs_details


def test_ecs():
    """ecs信息汇总
    """
    ecs = AliyunEcsHandler()
    ecs_details = ecs.Instances_Details(KEYS)
    cpus , memorys = 0, 0
    for ecs in ecs_details['Instances']['Instance']:
        cpus += ecs['Cpu']
        memorys += ecs['Memory']
    print('ECS总数: {} 台,共{} Cpus、 {} GB '.format(
        ecs_details['TotalCount'],
        cpus , 
        memorys/1024)
    )
    

if __name__ == '__main__':
    test_ecs()


相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
1月前
|
数据挖掘 数据安全/隐私保护 开发者
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
62 0
|
7天前
|
开发者 索引 Python
实践:如何使用python在网页的表格里抓取信息
实践:如何使用python在网页的表格里抓取信息
|
7天前
|
机器学习/深度学习 数据可视化 数据挖掘
用Python进行健康数据分析:挖掘医疗统计中的信息
【4月更文挑战第12天】Python在医疗健康数据分析中扮演重要角色,具备数据处理、机器学习、可视化及丰富生态的优势。基本流程包括数据获取、预处理、探索、模型选择与训练、评估优化及结果可视化。应用案例包括疾病预测、药物效果分析和医疗资源优化,例如使用RandomForestClassifier进行疾病预测,Logit模型分析药物效果,以及linprog优化医疗资源配置。
|
28天前
|
Linux Docker Python
如何将本地的python项目部署到linux服务器中
如何将本地的python项目部署到linux服务器中
79 1
|
30天前
|
存储 数据挖掘 Windows
服务器数据恢复—异常断电导致raid信息丢失的数据恢复案例
由于机房多次断电导致一台服务器中raid阵列信息丢失。该阵列中存放的是文档,上层安装的是Windows server操作系统,没有配置ups。 因为服务器异常断电重启后,raid阵列可以正常使用,所以未引起管理员的注意。后续出现的多次异常断电导致raid报错,服务器无法找到存储设备,进入raid管理模块进行任何操作都会导致操作系统死机。管理员尝试多次重启服务器,故障依旧。
|
1月前
|
数据采集 存储 自然语言处理
使用Python分析网易云歌曲评论信息并可视化处理
在数字化时代,音乐与我们的生活紧密相连,而网易云音乐作为国内知名的音乐平台,拥有庞大的用户群体和丰富的歌曲评论信息。这些评论信息不仅反映了用户对于歌曲的情感态度,还蕴含着大量的有价值的数据。通过对这些评论信息进行分析和可视化处理,我们可以更好地理解用户的喜好、情感变化以及歌曲的影响力。
34 0
|
1月前
|
监控 安全 API
怎么用Python找回微信撤回信息
怎么用Python找回微信撤回信息
33 0
|
1月前
|
机器学习/深度学习 Python
Python基础:构建一个简单的Web服务器
Python基础:构建一个简单的Web服务器
51 1
|
1月前
|
弹性计算 大数据 测试技术
2024年阿里云服务器报价参考,阿里云服务器活动优惠配置价格信息整理汇总
随着云计算技术的日益成熟,云服务器已成为众多企业和个人的首选。在众多云服务商中阿里云以其稳定的性能、高性价比而备受瞩目。今天,就为大家带来2024年最新的阿里云服务器优惠价格信息。 阿里云服务器: 轻量应用服务器及ECS优惠价格: 2核2G3M轻量应用服务器:一年62元 2核2G3M经济型e实例云服务器ECS:一年99元 2核4G通用算力型u1实例云服务器ECS:一年706.25元 2核8G通用算力型u1实例云服务器ECS:一年877.32元