我正在尝试从ARM模板创建Application Insights API密钥。我需要具有在资源部署期间创建的用于编写注释的API密钥,才能使发行注释在从Azure Devops进行应用程序部署期间正常工作。
我试图找到有关如何使其工作的信息,但是我只能找到有关如何使用PowerShell或Azure REST API创建密钥的示例。
我需要开始的工作是使用ARM模板创建API密钥。 我已经尝试过很多类似的尝试,但都没有成功;
{
"name": "[variables('applicationInsightsName')]",
"type": "Microsoft.Insights/components",
"location": "[resourceGroup().location]",
"apiVersion": "2014-04-01",
"tags": {
"displayName": "[concat('Component ', variables('applicationInsightsName'))]"
},
"properties": {
"applicationId": "[variables('applicationInsightsName')]"
},
"resources": [
{
"name": "action",
"type": "apikeys",
"location": "[resourceGroup().location]",
"apiVersion": "2015-05-01",
"properties": {
"name": "Azure Devops Release Annotations",
"linkedWriteProperties": [
"[concat(resourceId('Microsoft.Insights/components', variables('applicationName')), '/annotations')]"
],
"linkedReadProperties": []
},
"dependsOn": [
"[resourceId('Microsoft.Insights/components', variables('applicationInsightsName'))]"
]
}
]
}
到目前为止,我发现的最好的信息是this,但这并没有太大帮助。
是否可以使用ARM模板创建API密钥?
答案 0 :(得分:0)
这是不可能的,ARM模板仅模仿PUT
请求,而Microsoft.Insights/Components/ApiKeys/Action
是POST
请求。
答案 1 :(得分:0)
我建议一种简单的方法。您可以使用参考值为 InstrumentationKey 的输出。然后,您可以在任何地方使用它:另一个资源,链接的模板,或者将输出用于Azure DevOps的下一步。
.required
我使用了很多次。