You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bicep中获取现有Log Analytics工作区的ID与密钥?

获取现有Log Analytics工作区的ID和密钥(Bicep)

获取工作区ID

你已经用existing关键字正确引用了现有Log Analytics工作区,工作区ID可以直接通过资源的.id属性获取,这是Bicep引用现有资源的标准方式:

param logAnalyticsWorkspaceName string

resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2022-10-01' existing = {
  name: logAnalyticsWorkspaceName
}

// 直接获取工作区ID
var workspaceId = logAnalyticsWorkspace.id

获取共享密钥

工作区的共享密钥属于敏感凭据,不会暴露在资源的常规properties中,必须通过ARM的listKeys函数获取。Bicep支持直接调用这个函数,语法如下:

// 获取主共享密钥
var primarySharedKey = listKeys(logAnalyticsWorkspace.id, logAnalyticsWorkspace.apiVersion).primarySharedKey

// 获取次共享密钥
var secondarySharedKey = listKeys(logAnalyticsWorkspace.id, logAnalyticsWorkspace.apiVersion).secondarySharedKey

完整示例(含跨资源组场景)

如果工作区不在当前部署的资源组,需要在existing资源中指定scope参数:

param logAnalyticsWorkspaceName string
param logAnalyticsWorkspaceRG string // 工作区所在的资源组名称

resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2022-10-01' existing = {
  name: logAnalyticsWorkspaceName
  scope: resourceGroup(logAnalyticsWorkspaceRG)
}

var workspaceId = logAnalyticsWorkspace.id
var primaryKey = listKeys(logAnalyticsWorkspace.id, logAnalyticsWorkspace.apiVersion).primarySharedKey

注意事项

  • 调用listKeys函数需要部署身份拥有Microsoft.OperationalInsights/workspaces/listKeys/action权限。
  • 共享密钥是敏感信息,避免在输出中明文暴露,建议通过Azure Key Vault管理这类凭据。

内容的提问来源于stack exchange,提问作者objectclass

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 06:20:44