aws用boto实现获取全部实例信息并发邮件

我们公司在亚马逊上分项目和事业部建立的不同的账号,基本每个事业部或业务线要使用云资源了,就来建立一个账号,管理起来会稍微麻烦些,有时候信息会与事业部运维同事信息不同步,比如你新开了几个实例,过了一段时间其实他不用了,他可能忘记给你说了,这就造成了白白浪费钱,所以呢,亚马逊实例的信息情况及时跟业务运维同步非常重要,能避免一些问题发生,同时呢,也方便业务对自己的资源进行及时管理和调整,这篇文章就是解决这个问题的,但就单单解决这个问题来说,方法有太多了,当时也想过其方法,不过感觉都很low(可能我这个方法更low,呵呵),所以就搞点有技术含量的,所以就写了个脚本定期发邮件给业务运维,脚本思路是:先获取账号下的实例信息,生成CSV文件,然后发生这个CSV文件,就是这三步,代码如下:

以上就是全部代码,其中getAllInstances()这个函数是借用我同事代码修改的,在此表示感谢,其它是我自己写的,代码没特别需要解释的,我在写的时候就是碰到了写csv文件时的问题,因为instances是个字典,刚开始思路不对,后来查资料发现了csv的字典写入功能,很方便将字典写入csv文件中,用法就是你传递一个字典,字典写对象会自动写入该字典的值,网上有很多资料是不对的,记得一定传递的是一个字典,不是列表,切记。