如何在 Azure 资源组模板中检索 Application Insights 实例的检测密钥?

How can I retrieve the instrumentation key for an Application Insights instance in an Azure Resource Group Template?

是否有任何方法可以检索 Azure 资源组模板中 Application Insights 实例的检测密钥?

我已尝试按照说明 here 检索 Azure 资源上可用的列表* 操作列表,但 Microsoft.Insights/components 没有出现在列表中的任何地方。这让我觉得目前无法在模板中检索 Instrumentation Key

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

经过一些挖掘和试验,我发现这是可行的:

"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