Runbooks帮助管理员自动化Azure云的某些进程。但是,如果通过webhook启动Azure Runbook,又能获得什么功能呢?
在云中运行应用的***好处之一是易于自动化。
以Azure Automation服务为例。它允许用户在云中自动执行任务,而不需要任何基础设施。例如,不使用虚拟机来定期启动使用计划任务的脚本,管理员可以在云中创建包含所有逻辑的Azure Runbook来自动化进程。
Azure Runbook使用PowerShell脚本或工作流程构建。管理员可以将其配置为定期运行,但也可以通过Webhook远程调用。管理员或开发人员可以通过Webhook启动Runbook,从面打开了一些有趣功能的大门。
Webhook通常是一个可以从任何地方调用的API。例如,当为特定Runbook创建Webhook时,它会生成一个唯一的HTTP端点。外部系统或应用可以向此端点发送HTTP帖子以触发Runbook。这些外部系统可以是自定义应用或外部服务,例如Visual Studio Team Services或GitHub。
用户还可以在调用Webhook时向Azure Runbook提供输入。例如,如果Runbook配置为使用输入参数,则调用程序可以以结构化JSON或XML的形式,在HTTP请求主体中发送这些参数值。
谨记,Webhooks是通过公共互联网调用的,没有现成的身份验证系统。但是,用户需要提供一个令牌以及HTTP请求,这提供了基本的安全机制。实际上,用户应该在Runbook中加入附加功能以验证请求,或避免对需要严格安全和身份验证的进程使用Webhook。
由于Webhook是通过HTTP调用的,因此没有针对客户端软件或工具的特殊命令。所有运行具有互联网访问的操作系统的设备都可以完成任务。管理员可以使用简单的命令行工具,如curl或PowerShell,来调用webhooks。