Azure Resource Graph 探索者可讓您跨訂用帳戶、管理群組和整個租用戶大規模查詢資源。
如果您需要定期查詢資源,以檢查特定資源或管理屬性,並對結果採取行動,您可以使用 Azure Logic Apps。
在本教學課程中,您將瞭解如何:
- 撰寫您計劃定期執行的 Azure Resource Graph 查詢
- 使用系統指派的受控識別建立 Azure 邏輯應用程式
- 設定受控識別以存取特定資源、資源群組和訂用帳戶
- 定期呼叫邏輯應用程式,將 Azure Resource Graph 查詢執行自動化
先決條件
若要完成本教學課程,您需要 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 入口網站中的 Logic App 設計視圖,並視需要修改您的設定。
最後,儲存您的邏輯應用程式並執行它。
後續步驟
在本教學課程中,我們建立了 Azure 邏輯應用程式,以設定的間隔自動化您的 ARG 查詢要求。 若要深入瞭解資源圖形語言,請繼續前往查詢語言詳細資料頁面,並嘗試更多 Azure Resource Graph 查詢。
如果您有任何疑問,請聯絡 resourcegraphsupport@microsoft.com