教學課程:在 Azure 邏輯應用程式中執行 Azure Resource Graph 查詢
Azure Resource Graph 總管可讓您跨訂用帳戶、管理群組和整個租用戶,大規模查詢資源。
如果您需要定期查詢資源,以檢查特定資源或管理屬性,並根據結果採取行動,您可以使用 Azure Logic Apps。
在本教學課程中,您會了解如何:
- 撰寫您打算定期執行的 Azure Resource Graph 查詢
- 使用系統指派的受控識別建立 Azure 邏輯應用程式
- 設定受控識別以存取特定資源、資源群組和訂用帳戶
- 定期呼叫邏輯應用程式來自動執行 Azure Resource Graph 查詢
必要條件
若要完成此教學課程,您需要 Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
撰寫 Azure Resource Graph 查詢
如果您有想要定期執行的 Azure Resource Graph 查詢,您可以使用該查詢。 在本教學課程中,我們使用下列查詢來擷取虛擬機器的電源狀態摘要。
Resources
| where type =~ 'microsoft.compute/virtualmachines'
| extend vmPowerState = tostring(properties.extended.instanceView.powerState.code)
| summarize count() by vmPowerState
如需詳細資訊,請移至範例 - 依電源狀態摘要說明虛擬機器。
當我們設定邏輯應用程式時,您會再次使用查詢。
建立邏輯應用程式
從入口網站功能表中選取 [邏輯應用程式],或使用所有頁面頂端的 Azure 搜尋方塊來搜尋並選取 [邏輯應用程式]。
選取畫面左上方的 [新增] 按鈕,並繼續建立邏輯應用程式。
建立邏輯應用程式時,請確定在 [方案類型]之下選擇 [取用]。
設定受控身分識別
建立新的系統指派受控識別
在 Azure 入口網站中,瀏覽至您建立的邏輯應用程式。 在頁面左側選取 [身分識別]。 接著,選取系統指派的身分識別按鈕,將狀態設定為 [開啟],然後選取 [儲存]。
將角色指派新增至受控識別
若要讓新建立的受控識別能夠跨訂用帳戶、資源群組和資源進行查詢,您需要透過角色指派來指派存取權給查詢。 如需如何為受控識別指派角色指派的詳細資訊,請參閱:將 Azure 角色指派給受控識別
設定和執行邏輯應用程式
在 Azure 入口網站內,在邏輯應用程式的程式碼檢視中貼上:
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"HTTP_2": {
"inputs": {
"authentication": {
"type": "ManagedServiceIdentity"
},
"body": {
"query": "Resources | where type =~ 'microsoft.compute/virtualmachines' | extend vmPowerState = tostring(properties.extended.instanceView.powerState.code) | summarize count() by vmPowerState"
},
"headers": {
"Content-Type": "application/json"
},
"method": "POST",
"queries": {
"api-version": "2021-03-01"
},
"uri": "https://management.azure.com/providers/Microsoft.ResourceGraph/resources"
},
"runAfter": {},
"type": "Http"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {},
"triggers": {
"Recurrence": {
"recurrence": {
"frequency": "Minute",
"interval": 1440
},
"type": "Recurrence"
}
}
},
"parameters": {}
}
然後,在 Azure 入口網站內前往邏輯應用程式的設計工具檢視,視需要修改您的設定。
最後,儲存並執行邏輯應用程式。
下一步
在本教學課程中,我們建立了 Azure 邏輯應用程式來定期自動執行 ARG 查詢要求。 若要深入了解 Resource Graph 語言,請繼續前往查詢語言詳細資料頁面,並嘗試更多 Azure Resource Graph 查詢。
如有任何問題,請連絡 resourcegraphsupport@microsoft.com