如何通过Bicep为Azure Web PubSub启用诊断设置?
通过Bicep为Azure Web PubSub配置诊断设置
你推测的方向是正确的,确实需要创建Microsoft.Insights/diagnosticSettings资源来实现将日志流式传输到Log Analytics工作区的需求。以下是具体的Bicep实现方案:
示例代码
param webPubSubName string param logAnalyticsWorkspaceId string param diagnosticSettingName string = 'webpubsub-diagnostic-setting' // 引用已存在的Azure Web PubSub资源(若和Web PubSub一起部署,可替换为新建资源的定义) resource webPubSub 'Microsoft.SignalRService/webPubSub@2021-10-01' existing = { name: webPubSubName } // 创建诊断设置资源 resource diagnosticSetting 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview' = { name: diagnosticSettingName scope: webPubSub properties: { workspaceId: logAnalyticsWorkspaceId logs: [ { category: 'ConnectivityLogs' enabled: true retentionPolicy: { days: 30 enabled: true } } { category: 'MessagingLogs' enabled: true retentionPolicy: { days: 30 enabled: true } } ] metrics: [ { category: 'AllMetrics' enabled: true retentionPolicy: { days: 30 enabled: true } } ] } }
关键说明
- 使用
existing关键字引用已部署的Web PubSub资源,若需同模板部署Web PubSub,可直接替换为新建资源的定义。 scope属性明确指定诊断设置所属的Web PubSub资源。logs数组可配置需要启用的日志类别:Web PubSub支持ConnectivityLogs(连接日志)和MessagingLogs(消息日志)两种核心类型,可根据需求调整enabled状态及日志保留天数。metrics部分用于启用指标收集,AllMetrics包含Web PubSub所有可用的监控指标。workspaceId需填入目标Log Analytics工作区的资源ID。
调整参数后部署该Bicep模板,即可实现与Azure门户操作一致的诊断设置效果。
内容的提问来源于stack exchange,提问作者Simon K
相关产品推荐
相关产品推荐

