Python3获取ECS相关信息

简介: 使用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()


相关实践学习
基于ECS搭建FTP服务
本教程介绍如何在Linux实例上安装并配置vsftpd,在被动模式下,使用本地用户访问FTP服务器的配置方法。。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
1910 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
移动开发 JavaScript 前端开发
精通服务器推送事件(SSE)与 Python 和 Go 实现实时数据流 🚀
服务器推送事件(SSE)是HTML5规范的一部分,允许服务器通过HTTP向客户端实时推送更新。相比WebSocket,SSE更轻量、简单,适合单向通信场景,如实时股票更新或聊天消息。它基于HTTP协议,使用`EventSource` API实现客户端监听,支持自动重连和事件追踪。虽然存在单向通信与连接数限制,但其高效性使其成为许多轻量级实时应用的理想选择。文中提供了Python和Go语言的服务器实现示例,以及HTML/JavaScript的客户端代码,帮助开发者快速集成SSE功能,提升用户体验。
|
7月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
1311 1
|
11月前
|
Python
使用Python实现multipart/form-data文件接收的http服务器
至此,使用Python实现一个可以接收 'multipart/form-data' 文件的HTTP服务器的步骤就讲解完毕了。希望通过我的讲解,你可以更好地理解其中的逻辑,另外,你也可以尝试在实际项目中运用这方面的知识。
520 69
|
10月前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
680 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
9月前
|
API Python
VIN码查询API的实战指南:获取二手车信息以Python为例
随着机动车保有量上升,中国二手车市场迎来发展机遇。本文介绍如何通过VIN码查询API获取车辆详细信息,提升交易透明度与安全性。
309 1
|
8月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
2052 0
|
8月前
|
前端开发 数据安全/隐私保护 Python
虚拟物流单号生成器, 虚拟快递单号假物流信息, 虚拟快递单号在线生成【python框架】
这个虚拟物流单号生成系统包含以下功能:支持多种主流快递公司的单号生成
|
8月前
|
数据安全/隐私保护 数据格式 Python
快递单号模拟生成器, 虚拟物流信息在线生成,虚假快递单号生成器【python】
支持多种主流快递公司生成符合各快递公司规则的快递单号自动生成收发件人信息

推荐镜像

更多