首页 > 编程语言 >使用python基于boto3和tkintrer模块-编写一个AWS-EC2的管理器界面

使用python基于boto3和tkintrer模块-编写一个AWS-EC2的管理器界面

时间:2023-07-29 21:57:08浏览次数:34  
标签:管理器 删除 python 创建 Selected AWS item EC2

当我们管理自己AWS账号下的EC2资源时,一般都是登录到Console界面进行管理

笔者自己的AWS经常是用于做一些实验时,才会去创建EC2,部署一些环境等,为了不用登录Console操作

于是使用python, tkinter模块写了一个GUI的管理工具,先看一下整体界面如下:

这个小工具,有创建EC2 , 查询EC2, 删除指定的EC2,删除全部的EC2 四个功能

笔者在设计时,也增加了一些如下小细节

1、点击【创建EC2】资源后,会在前面显示新建的EC2的实例ID,私有IP,以及创建时的 【CreateTime】这个tag,用于记录创建时间

     这样以后可以通过CreateTime这个Tagy就知道 EC2资源是什么时间创建的,另:当程序创建完成后,会调用一次【查询】按钮所绑定的函数

     这样也就会在下方的列表框中,展示出所有的EC2资源 ,通过与【创建EC2】左侧的文本框对比,也就知道新建的EC2的更详细的信息

 说明:因为EC2创建时,都是让自动分配的公网IP地址,因此在刚创建完,未启动的时候,是查询不到公网IP的,不过创建后启动了,在下方列表框就能看到

 

2、关于【删除选中EC2】和 【删除全部EC2】两个功能比较危险,必须增加确认弹窗,这样可以访止误操作,以删除一台EC2为例,效果如下

 可以看删除EC2,先是会关机,过一会儿再查询就是terminated终止的状态了

关于【删除选中EC2】这个功能设计成了,只能选中一个EC2实例条目,删除前弹出确认的弹窗,如果没有选择EC2条目,也会错误提醒,并退出函数,的核心代码如下:

def EC2_Delete():

    Ec2client=Session.client('ec2',region_name=region_name,aws_access_key_id=aws_access_key_id,aws_secret_access_key=aws_secret_access_key)
    
    Selected_item=Left_List_01.curselection()
    
    try:
        Selected_item=Left_List_01.get(Selected_item)
    except:
        tkinter.messagebox.showerror("错误","请先选择一个要删除的实例条目")
        return 1
   
    result=tkinter.messagebox.askyesnocancel("确认","你确定要删除选中的实例吗?",default=tkinter.messagebox.NO)
    
    if result:
        EC2ID=Selected_item[0]
        Terminate_instances_response = Ec2client.terminate_instances(InstanceIds=[EC2ID])

其他说明:像对于EC2的终止命令,也是有着幂等性原则的,执行一次和多次效果也是一样的,只要实例ID还在就不会抛出异常

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17590612.html

 

标签:管理器,删除,python,创建,Selected,AWS,item,EC2
From: https://www.cnblogs.com/5201351/p/17590612.html

相关文章

  • 如何在 Python 中计算列表中的唯一值?
    Python提供了各种方法来操作列表,这是最常用的数据结构之一。使用列表时的一项常见任务是计算其中唯一值的出现次数,这在数据分析、处理和筛选任务中通常是必需的。在本文中,我们将探讨四种不同的方法来计算Python列表中的唯一值。在本文中,我们将介绍如何使用集合模块中的集合、字......
  • 在 Python 中播放声音
    介绍我们首先检查playsound库,它为在Python中播放声音文件提供了一个简单直接的解决方案。凭借其最低的设置要求,开发人员可以使用单个函数调用将音频播放快速集成到他们的应用程序中。但是,对于更高级的音频功能,我们深入研究了两个流行的库:pygame和pyglet。Pygame是一个强大的多媒体......
  • pycharm运行代码自动跳转到Python控制台窗口
    问题:在使用Pycharm的过程中,会遇到运行代码Pycharm会自动跳转到Python控制台(pythonconsole)窗口,如下图解决方案:​ 造成上述问题的原因是:不经意的设置了使用Pytho控制台运行,我们只需要修改以下运行配置就可以恢复正常,如下图(1)进入编辑配置:(2)取消勾选使用Python控制台运行......
  • PYTHON mysql形成分割文件
    importrandom,string,re,time,sys,hashlib,pymysql,requestsf=open("aa.txt","w")connect=pymysql.connect(user='root',password='123456',db='new',host......
  • Python入门简单代码
     1.#定义一个函数,使该函数能够返回4个参数中的最大值。defmax4(a,b,c,d):max1=max(a,b)max2=max(c,d)max3=max(max1,max2)returnmax3print(max4(1,2,3,4))2.#使用匿名函数完成求两个参数之和的功能add=lambdax,y:x+yprint(add(1,2))3.#编写一个......
  • 如何在Python中获取时间(在Python中获取当前的Unix时间)
    在Python中获取当前时间是许多与时间有关的操作的一个很好的起点。一个非常重要的用例是创建时间戳。在本教程中,你将学习如何用datetime模块获取、显示和格式化当前时间。我们将学习如何读取当前时间的属性,如年份、分钟或秒。为了使时间更容易阅读,将探索打印时间的选项。我们......
  • Python 潮流周刊第 13 期(2023-07-29)
    查看全文:https://pythoncat.top/posts/2023-07-29-weekly......
  • Python-Django-环境搭建和基础知识
    Python-Django学习目录:环境搭建和基础知识:包括安装Python和Django、了解Python基础语法、掌握Django框架的基本概念和工作原理等。模型和数据库:包括创建模型、定义字段、使用DjangoORM进行数据库操作等。视图和URL:包括定义视图函数、URL路由配置、模板渲染等。表单和验证:包括表单......
  • 记录Ubuntu20.04安装Python3.7
    1、先升级一下软件包列表和软件包管理工具sudoapt-getupdatesudoapt-getupgrade 2、安装依赖:sudoaptinstallopenssl*zlib* 3、下载Python压缩包wgethttps://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz 4、解压缩tar-zxvfPython-3.7.1.tgz进入解......
  • PythonNote042---pymysql使用
      简单介绍pymysql的一些操作,增改删查增先建表,再写数据至表中除查询操作外,增改删都需要commit操作,具体原理看ref.1importpandasaspdimportpymysqlimporttimeimportwarningswarnings.filterwarnings("ignore")建表con=pymysql.connect(host='localhost',......