是否有任何方法可以检索 Azure 资源组模板中的 Application Insights 实例的检测密钥?
我已尝试按照此处的说明检索Azure资源上可用的列表*操作列表,但
Microsoft.Insights/components
未出现在列表中的任何位置。这让我觉得目前不可能在模板中检索仪器密钥
经过一番挖掘和实验,我发现这是有效的:
"outputs": {
"MyAppInsightsInstrumentationKey": {
"value": "[reference(resourceId('Microsoft.Insights/components', variables('myAppInsightsInstanceName')), '2014-04-01').InstrumentationKey]",
"type": "string"
}
}
尝试一下(使用 azure cli)
az resource show -g $RESOURCE_GROUP -n $APP_INSIGHTS --resource-type "microsoft.insights/components" --query properties.InstrumentationKey
Instrumentation Key 属于资源,您可以在 Azure 资源管理器模板中找到它。如果要查找Instrumentation Key,则需要将ResourceType定义为Microsoft.Insights/components。尝试以下代码:
$resourcevalue=Get-AzureRmResource -ResourceGroupName Default-ApplicationInsights-*** -ResourceType Microsoft.Insights/components -ResourceName **hdinsights -ApiVersion 2015-05-01
$resourcevalue.Properties.InstrumentationKey
亚历克斯·马歇尔的答案很好,但我只是想贡献一下,你也可以用二头肌来做这个。语法如下:
resource appInsights 'Microsoft.Insights/components@2020-02-02' existing = {
name: 'appinsights-name'
scope: resourceGroup('rg-appinsights-resides-in')
}
output appString string = appInsights.properties.ConnectionString
output appinsight string = appInsights.properties.InstrumentationKey
在 Bicep 中,您可以按如下方式读出 InstrumentationKey:
resource appinsights 'Microsoft.Insights/components@2020-02-02' existing = {
name : appinsightsname
scope : resourceGroup('ResourceGroupname')
}
output InstrumentationKey string = appinsights.properties.InstrumentationKey