Python 加持,给你更有趣的 Azure 虚拟机开关重启方法!
在程序员的世界里,有关编程语言孰优孰劣的争论从来就没有消停过,不管你更粉哪种语言,毫无疑问,每种语言都有自己擅长的领域,而一些语言因为上手简单、扩展性强、功能强大等因素,往往会比较多地出现在我们面前,呐,Python 这条「巨蟒」就是如此。
Web 开发会用到,数据分析会用到,机器学习会用到,科学计算会用到……哪哪哪都能看到它的身影。
那么你猜,Azure 虚拟机和 Python 的碰撞能产生什么有趣的东西?
微软云计算架构师、资深工程师彭俊带你开脑洞了,通过 Python 驾驭 Azure 虚拟机,让它更听你的话。
彭俊
微软云计算架构师、资深工程师
将通过本文介绍如何使用基于 Python 开发的小程序控制 Azure 虚拟机
运维工程师的日常是怎样的?别的先不说,不过有一种情况可能经常会遇到:
客户/管理员通过控制台、微信、邮件等方式告诉运维,某台虚拟机需要开机/关闭/重启;
运维人员根据要求执行对应的操作,然后通过微信/短信/邮件等方式将结果反馈给管理员或用户;
同时可能还需要通过类似的方式给其他负责运维的同事发出提醒;
此外,运维人员偶尔可能还需要查看某一时段内的审计或运维日志,来确定这一时段内执行的操作是否合理……
如果说只需要写一个简单的 Python 小程序,就可以通过邮件、微信等方式自动搞定这一切呢?
不信就一起试试吧。
1安装配置 Python
首先需要在中国区 Azure 上安装 Python,为此需要执行下列命令:
pip install azure==2.0.0rc6
其他配置和选项基本可以按照 Python SDK 的官方文档介绍来执行,并且可以参考范例和相关源代码。
下列操作的核心是 RESTFul API,并将通过模拟 HTTP call 来完成操作。
2程序代码解读
实现上述目标的这个 Python 小程序,完整代码如下:
这里需要注意:Base_url 一定记得要选中国,随后需要启动几个用于处理请求的 Monitor/Compute 的客户端。
为了完成邮件和微信提醒功能,还需要编写短信通知和微信通知、监控模块。
邮件通知可以用 SMTPLib 来完成,这里选择的 139 服务可以直接提供短消息通知。 


至此,一个简单的运维提醒查看工具就搞定了。

高潮来了![]()
彭老师这次开脑洞就是这样,各位小伙伴你们在读完之后,是否会想到其他同样炫酷有趣的操作?
例如:使用微信作为监控指令的 Host 或者 Webhook,通过语义分析等办法增加管理和监控选项。有其他想法或者意见?不妨通过评论回复一下,没准还能约几个志同道合的小伙伴一起公关成功,造福更多用户也说不定呐~
最后照惯例开始发资源了,收好不谢:
Python 加持,给你更有趣的 Azure 虚拟机开关重启方法!的更多相关文章
- Azure虚拟机时间同步问题
场景描述:在Azure上新创建虚拟机默认是UTC时区的,因为业务在国内,所以要修改在CST注:协调世界时(英语:Coordinated Universal Time,法语:Temps Universe ...
- WOW.js – 让页面滚动更有趣
演示1 演示2-仿oppo首页 下载 简介 有的页面在向下滚动的时候,有些元素会产生细小的动画效果.虽然动画比较小,但却能吸引你的注意.比如刚刚发布的 iPhone 6 的页面(查看).如果你希望你的 ...
- wow.js让css3动画变动更有趣(滚动页面动画模拟懒加载特效)
CSS3的出现给网站页面增加了活力,网站增色不少,有这么小小的一款插件就能做出很多动画效果. 最重要的是它:简单易用.轻量级.无需 jQuery......他就是wow.js 地址:https://d ...
- 【转】python:让源码更安全之将py编译成so
python:让源码更安全之将py编译成so 应用场景 Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效. python的解释特性是将py编译为独有的二 ...
- 只为更快、更省、更安全的 Azure CDN
来来来!小编今天要公布一件大事啦: 经过最近一次更新,Azure CDN 高级版服务 HTTPS SSL 证书的申请方式有所改进啦,除了现有的 Azure CDN 代为申请证书外,还支持用户自己申请的 ...
- 【Azure Developer】Python代码通过AAD认证访问微软Azure密钥保管库(Azure Key Vault)中机密信息(Secret)
关键字说明 什么是 Azure Active Directory?Azure Active Directory(Azure AD, AAD) 是 Microsoft 的基于云的标识和访问管理服务,可帮 ...
- 使用mysqlslap对mysql进行压测,观察Azure虚拟机cpu使用率
一直想做这个测试,原因很简单,很多人一直比较怀疑Azure的虚拟机性能,说相同的配置凭啥比阿里的虚拟机贵那么多,其实,我自己以前也怀疑过,但是接触Azure的几个月,确实发现Azure的虚拟机性能真的 ...
- Azure 虚拟机常见问题-上
在 Azure 虚拟机上可以运行什么? 所有订户均可在 Azure 虚拟机上运行服务器软件.此外,MSDN 订户还可以访问由 Azure 提供的特定 Windows 客户端映像. 就服务器软件来说,你 ...
- 运行预构建 Linux 映像的 Windows Azure 虚拟机中的交换空间 – 第 1 部分
本文章由 Azure CAT 团队的 Piyush Ranjan (MSFT) 撰写. 随着基础结构服务(虚拟机和虚拟网络)近期在 Windows Azure 上正式发布,越来越多的企业工作负荷正在向 ...
随机推荐
- 存储引擎InnoDB
InnoDB是MySQL的默认存储引擎, InnoDB支持的最大存储限制是64TB,支持事务安全,支持行锁,支持B树索引,不支持哈希索引和全文索引,支持集群索引,支持数据缓存,支持索引缓存,不支持数据 ...
- Spring入门第六课
XML配置里的Bean自动装配 Spring IOC容器可以自动装配Bean.需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式 ByType(根据类型自动装配):若I ...
- 关于export环境变量生存期
今天对export方式设置的环境变量的生存期有很大疑惑. 按变量的生存周期来划分,Linux变量可分为两类,它们的修改方法如下:(1)永久的:需要修改配置文件,变量永久生效. 常见的配置文件包括 ...
- 7.23实习培训日志-JDBC
总结 今天下午考试,JDBC,这个本身很简单,但是需要我们Dockerfile+Docker Compose运行,这个东西就很复杂.原来学习时没有怎么看,这一次就很懵,完全不知道怎么弄,反正环境都没有 ...
- Access denied for user 'xxx'@'localhost' 问题的解决方法
使用SpringMvc + Mybatis + Mysql搭建的架构,调试时出现了以下错误: HTTP Status 500 - Request processing failed; nested e ...
- winform中的ComboBox同时设置text和value的方法
winform中的ComboBox不能像webform中的dropdownlist控件一样,在属性中可以同时设置text和value值,可以通过编写一个新类来实现这个功能. 1.首先在form1中添加 ...
- Python 中的赋值、拷贝、引用
在 python 中赋值语句总是建立对象的引用值,而不是复制对象.因此,python 变量更像是指针,而不是数据存储区域. 如图所示,当改变一个变量的值,另一个的值也会跟着改变.也就是浅拷贝. 若要实 ...
- FormsAuthentication.RedirectFromLoginPage 登录
首先讲的这个东西是针对后台数据访问的比如我的后台是admin文件夹.那么我除非登陆成功才可以访问里面的东西.那么除了Session对象判断.和Cookies来判断还能用到FormsAuthentica ...
- HBase HA + Hadoop HA 搭建
HBase 使用的是 1.2.9 的版本. Hadoop HA 的搭建见我的另外一篇:Hadoop 2.7.3 HA 搭建及遇到的一些问题 以下目录均为 HBase 解压后的目录. 1. 修改 co ...
- 796D(bfs)
题目链接: http://codeforces.com/problemset/problem/796/D 题意: 给出一颗 n 个节点树, 树枝连接的两个定点距离为 1, 树中有 k 个特殊点, 问最 ...