生成自动化 Runbook

已完成

我们已经探讨了 Azure 自动化的工作原理,下面将了解创建自动化帐户和自动化 runbook 所需的步骤

若要生成自动化 Runbook,首先需要创建自动化帐户。 下图显示了在 Azure 门户创建自动化帐户的过程(从 Azure 市场选择 Azure 自动化后)。

Screenshot of how to create an Automation Account in the Azure portal.

在此示例 runbook 中,将使用 PowerShell 连接到 Azure SQL 数据库。 这意味着需要导入支持这些 cmdlet 的模块。 在创建 runbook 之前,需要将模块导入 Azure 自动化帐户。 要执行此导入,请导航到自动化帐户主边栏选项卡上的“共享资源”部分,然后选择“模块库”。 导入的第一个模块是 Az.Accounts,因为此模块是 Az.SQL 模块的基础。

Screenshot of the modules gallery search for the Account's module.

在库中搜索该模块,如下图所示。 选择模块后,选择“导入”,如下图所示。

Screenshot of how to import the module into your account.

这会将模块导入你的帐户。 在此示例中,对 Az.SQL 和 SqlServer PowerShell 模块重复了此过程。

接下来可以选择创建 runbook 使用的凭据。 通过在自动化帐户主边栏选项卡的“共享资源”部分单击“凭据”来创建凭据,如下图所示。 使用 Azure 自动化不一定要创建凭据,但本示例引用了一个凭据。

Screenshot of how to create a credential for Azure Automation.

在自动化帐户的“进程自动化”部分中,选择“runbook”以创建 runbook。 你的帐户将附带两个示例 runbook。

Screenshot of the runbook creation in Azure portal.

要创建 runbook,必须提供名称、runbook 类型、运行时版本和说明(可选)。 因为此示例指定了 PowerShell 类型,所以会打开 PowerShell 编辑器。

Screenshot of the sample Azure Automation runbook.

上图显示了“编辑 runbook”屏幕,你可在其中定义要执行的代码。 在此示例中,Runbook 将连接到 Azure 订阅,获取关于 Azure SQL 数据库的信息,运行查询,然后返回结果。

在 1-21 行,将执行一系列 cmdlet,连接到 Azure 帐户。 然后从 Get-AzSQLDatabase cmdlet 获取数据库名称,然后使用 get-AutomationPSCredentail cmdlet 将凭据分配到变量。

最后分配 invoke-sqlcmd cmdlet 对 Azure SQL 数据库执行查询,并使用 write-output cmdlet 返回查询结果。

在门户中完成代码后,在 Azure 门户的代码编辑器中选择“测试窗格”。 通过此操作测试 Azure 自动化上下文中的代码。 典型的开发过程是在本地创建 PowerShell 代码,然后在自动化环境中对其进行测试。 通过此操作可以将任何 PowerShell 错误与可能在自动化执行上下文中生成的错误分隔开来。 始终在自动化中测试代码,确保代码本身没有错误。

Screenshot of a successfully completed test runbook on Azure portal.

下图显示了已完成的 runbook 的结果。 注意屏幕左侧表示混合 Runbook 的信息气泡。 在虚拟机内部执行 cmdlet 时,可以使用混合 runbook。 需要在虚拟机和 Azure Automation 帐户中对其进行配置。 此概念可能有些令人困惑,但最简单的理解方法是将 Azure 资源看作由 Azure 资源管理器管理的框。 在没有混合 runbook 的情况下,你可以管理这些框的状态,但是无法访问或管理框里的任何内容。 通过混合 Runbook,可以选择对箱子里的内容进行控制。

Screenshot of the results of the completed runbook on Azure portal.

成功测试 runbook 后,可以在 runbook 编辑器屏幕中选择“发布”。

runbook 必须经过发布才能由 Azure 服务执行。 发布 runbook 后,可以选择自动化帐户边栏选项卡的“共享资源”部分中的“计划”,创建计划。

Screenshot of the create schedule page in Azure Automation.

上图显示了新建计划的过程。 默认设置为不定期执行作业。 在以上示例中,作业已配置为在中部时间下午 4:00 运行,每天一次。

创建计划后,导航回 runbook 并选择 runbook 页中的“链接到计划”,将其链接到 runbook,如下图所示。

Screenshot of how to link a runbook to a schedule in Azure Automation.