在程序员的世界里,有关编程语言孰优孰劣的争论从来就没有消停过,不管你更粉哪种语言,毫无疑问,每种语言都有自己擅长的领域,而一些语言因为上手简单、扩展性强、功能强大等因素,往往会比较多地出现在我们面前,呐,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,通过语义分析等办法增加管理和监控选项。有其他想法或者意见?不妨通过评论回复一下,没准还能约几个志同道合的小伙伴一起公关成功,造福更多用户也说不定呐~

最后照惯例开始发资源了,收好不谢:

立即访问http://market.azure.cn

Python 加持,给你更有趣的 Azure 虚拟机开关重启方法!的更多相关文章

  1. Azure虚拟机时间同步问题

    场景描述:在Azure上新创建虚拟机默认是UTC时区的,因为业务在国内,所以要修改在CST注:协调世界时(英语:Coordinated Universal Time,法语:Temps Universe ...

  2. WOW.js – 让页面滚动更有趣

    演示1 演示2-仿oppo首页 下载 简介 有的页面在向下滚动的时候,有些元素会产生细小的动画效果.虽然动画比较小,但却能吸引你的注意.比如刚刚发布的 iPhone 6 的页面(查看).如果你希望你的 ...

  3. wow.js让css3动画变动更有趣(滚动页面动画模拟懒加载特效)

    CSS3的出现给网站页面增加了活力,网站增色不少,有这么小小的一款插件就能做出很多动画效果. 最重要的是它:简单易用.轻量级.无需 jQuery......他就是wow.js 地址:https://d ...

  4. 【转】python:让源码更安全之将py编译成so

    python:让源码更安全之将py编译成so 应用场景 Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效. python的解释特性是将py编译为独有的二 ...

  5. 只为更快、更省、更安全的 Azure CDN

    来来来!小编今天要公布一件大事啦: 经过最近一次更新,Azure CDN 高级版服务 HTTPS SSL 证书的申请方式有所改进啦,除了现有的 Azure CDN 代为申请证书外,还支持用户自己申请的 ...

  6. 【Azure Developer】Python代码通过AAD认证访问微软Azure密钥保管库(Azure Key Vault)中机密信息(Secret)

    关键字说明 什么是 Azure Active Directory?Azure Active Directory(Azure AD, AAD) 是 Microsoft 的基于云的标识和访问管理服务,可帮 ...

  7. 使用mysqlslap对mysql进行压测,观察Azure虚拟机cpu使用率

    一直想做这个测试,原因很简单,很多人一直比较怀疑Azure的虚拟机性能,说相同的配置凭啥比阿里的虚拟机贵那么多,其实,我自己以前也怀疑过,但是接触Azure的几个月,确实发现Azure的虚拟机性能真的 ...

  8. Azure 虚拟机常见问题-上

    在 Azure 虚拟机上可以运行什么? 所有订户均可在 Azure 虚拟机上运行服务器软件.此外,MSDN 订户还可以访问由 Azure 提供的特定 Windows 客户端映像. 就服务器软件来说,你 ...

  9. 运行预构建 Linux 映像的 Windows Azure 虚拟机中的交换空间 – 第 1 部分

    本文章由 Azure CAT 团队的 Piyush Ranjan (MSFT) 撰写. 随着基础结构服务(虚拟机和虚拟网络)近期在 Windows Azure 上正式发布,越来越多的企业工作负荷正在向 ...

随机推荐

  1. HN669打包工具--调试文档

    调试有两种方式,一是直接在游戏工程上面调试,这比较麻烦,需要根据插件配置文件和脚本文件去配置好工程选项后,才能调试.简单一点就是通过脚本文件打包后会有生成游戏工程对应每个渠道的工程. 如下图:这个工程 ...

  2. Java 概述及安装使用

    Java是什么 概述 java是一种面向对象编程语言,不过经过多年的发展,现在已经演变为了一套强大的技术体系.Java设计者们将Java划分为3种结构独立但却彼此依赖的技术体系分支,它们分别对应着不同 ...

  3. lable对picbox透明

    为了登录美观一些,就在窗体上加了个picbox.并且充满了整个窗体. 往上面放了几个lable,把lable属性设置Transparent.本想着lable不会有底色,实际上有个底,很难看. 解决办法 ...

  4. .net 前端传值和后端接收的几种方式

    第一种:GET传参(常用): get传参方式就是链接?后写上参数和数据用&拼接. 第二种:POST传参(常用): 这种传参方式可以GET POST同时传,在链接上加参数后台用get方式接收,P ...

  5. C++内存管理之unique_ptr

    一个unique_ptr"拥有“他所指向的对象.与shared_ptr不同,某个时刻只能有一个unique_ptr指向一个给定的对象.当unique_ptr被销毁时,它所指向的对象也被销毁. ...

  6. JAVA中的工厂方法模式和抽象工厂模式

    工厂方法模式: 定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类.类型:创建类模式类图: 类图知识点:1.类图分为三部分,依次是类名.属性.方法2.以& ...

  7. 浅谈UML——九种图(二)

    前言 看我UML视频,对UML图有了一定的了解,终于明白了,为什么一幅图代表了千言万语.每一种图都有其特殊的存在,都在软件开发过程中起了至关重要的作用.那么如何阅读?如何绘制?请看下去: 1 行为图 ...

  8. 文件上传Django

    当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="" ...

  9. 将图片至于jsp页面上(层)

    <div style="position: relative"> <span style="position: relative; top: 1px; ...

  10. java8List集合根据对象的属性去重

    import static java.util.Comparator.comparingLong; import static java.util.stream.Collectors.collecti ...