Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  489 随笔 :: 0 文章 :: 417 评论 :: 70万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

  《Windows Azure Platform 系列文章目录

 

  通过Azure Automation(自动化),开发人员可以自动完成通常要在云环境中执行的手动、长时间进行、易出错且重复性高的任务。你可以使用 Runbook 来创建、监视、管理和部署 Azure 环境中的资源。所谓的 Runbook,基本上就是指 Windows PowerShell 工作流。

  Azure Automation概念上类似Windows Service,SQL Server Job。

  Azure Automation可以无人值守,自动化运行。

 

 

  Azure Automation有三个非常重要的概念:

  1.Automation,一组业务逻辑的集合。包含多个RunBook和多个Schedule。

  2.RunBook,运行业务逻辑的主题

  3.Schedule,调度RunBook的计划任务。一个Schedule可以调度多个RunBook

 

 

  举个例子,假设我们每天早上9点上班之前把一个订阅下所有的虚拟机开启,然后在下午6点下班以后把所有的虚拟机关闭,这样是非常节省成本的。

  以前我们需要通过单独某一台Azure虚拟机,定期执行PowerShell命令,因为虚拟机按照小时收费,成本会非常高,非常不划算。

  另外单独的Azure虚拟机会产生单点故障,从可靠性角度来说,也是无法保障的。

  通过使用Azure Automation,可以设置自动化的工作流,定期执行负载的业务逻辑。

 

  Azure Automation功能非常强大。微软Azure Automation团队提供了Runbook实例代码,读者可以浏览http://go.microsoft.com/fwlink/p/?linkid=393029&clcid=0x409,进行参考。

 

 

  最后,笔者演示一个简单的Azure Automation Hello World,使用国内由世纪互联运维的Azure China

  1.首先我们登陆管理界面,地址https://manage.windowsazure.cn

  2.选择Automation,点击Create an automation account。如下图:

  

  

  2.输入Automation的名字,如下图:

  

  

  3.在Automation栏目,选择我们之前创建的LeiAutomation。如下图:

  

 

  4.页面跳转,我们点击RUNBOOKS,然后点击IMPORT,如下图:

  

 

  5.打开浏览器浏览https://gallery.technet.microsoft.com/scriptcenter/The-Hello-World-of-Windows-81b69574

  下载相应的PS1脚本并通过上图导入到Azure Runbook。如下图:

  

 

  6.导入成功后,我们就可以查看到该RunBook。如下图:

  

  

  7.我们点击上图中的Write-HelloWorld,页面跳转,然后我们点击Author。如下图:

  

 

  8.可以看到这个RunBook的业务很简单,就是输出Hello World。具体代码如下:

复制代码
workflow Write-HelloWorld {
    param (
        
        # Optional parameter of type string. 
        # If you do not enter anything, the default value of Name 
        # will be World
        [parameter(Mandatory=$false)]
        [String]$Name = "World"
    )

        Write-Output "Hello $Name"

}
复制代码

 

  9.我们可以通过点击TEST来进行调试。如下图:

  

  

  10.调试成功后,我们就可以点击PUBLISH进行发布。如下图:

  

 

  11.发布成功后,我们可以在PUBLISHED里面看到发布的RUNBOOK项目,如下图:

  

 

  

  12.我们点击PUBLISH里面的Start按钮,可以执行该RUNBOOK。如下图:

  

  

  13.执行成功后,我们可以在Jobs里,查看到之前执行的Job。如下图:

  

 

  14.我们点击上图的JOB CREATED,就可以查看到执行的具体情况。图略。

 

  15.如果我们点击SCHEDULE,就可以定期,比如每小时,每天执行这个RUNBOOK。如下图:

  

 

 

 

  

  

posted on   Lei Zhang的博客  阅读(2225)  评论(2编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2013-08-20 [New Portal]Windows Azure Virtual Machine (20) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(2)
点击右上角即可分享
微信分享提示