你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:在 Azure 逻辑应用中运行 Azure Resource Graph 查询
Azure Resource Graph 资源管理器使你能够跨订阅、管理组和整个租户大规模查询资源。
如果需要定期查询资源来查找特定的资源或管理属性并对结果进行操作,可以利用 Azure 逻辑应用。
本教程介绍如何执行下列操作:
- 编写你计划定期运行的 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 门户中转到逻辑应用的设计器视图,并根据需要修改设置。
最后,保存逻辑应用并运行它。
后续步骤
在本教程中,我们创建了一个 Azure 逻辑应用,该应用按设置间隔自动执行 ARG 查询请求。 若要了解有关 Resource Graph 语言的详细信息,请继续访问查询语言详细信息页,并尝试更多 Azure Resource Graph 查询。
如有疑问,请联系 resourcegraphsupport@microsoft.com