在 Azure Monitor 日志查询中使用 workspace() 表达式

在 Azure Monitor 查询中使用 workspace 表达式,从同一资源组、另一个资源组或另一个订阅的特定工作区中检索数据。 可以使用此表达式在 Log Analytics 查询中包含日志数据以及在日志查询中跨多个工作区查询数据。

所需的权限

你必须对查询的 Log Analytics 工作区具有 Microsoft.OperationalInsights/workspaces/query/*/read 权限,例如,Log Analytics 读者内置角色所提供的权限。

语法

workspace(标识符)

参数

workspace 表达式采用以下参数。

标识符

使用下表中的某种格式标识工作区。

标识符 说明 示例
ID 工作区 GUID workspace("00000000-0000-0000-0000-000000000000")
Azure 资源 ID Azure 资源的标识符 workspace("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Contoso/providers/Microsoft.OperationalInsights/workspaces/contosoretail")

注意

强烈建议使用工作区的唯一 ID 或 Azure 资源 ID 来标识工作区,因为它们可以消除歧义且性能更高。

示例

workspace("00000000-0000-0000-0000-000000000000").Update | count
workspace("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Contoso/providers/Microsoft.OperationalInsights/workspaces/contosoretail").Event | count
union 
( workspace("00000000-0000-0000-0000-000000000000").Heartbeat | where Computer == "myComputer"),
(app("00000000-0000-0000-0000-000000000000").requests | where cloud_RoleInstance == "myRoleInstance")
| count  
union 
(workspace("00000000-0000-0000-0000-000000000000").Heartbeat), (app("00000000-0000-0000-0000-000000000000").requests) | where TimeGenerated between(todatetime("2023-03-08 15:00:00") .. todatetime("2023-04-08 15:05:00"))

后续步骤