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。