问题描述
我对Farmer感兴趣,因此决定在我的项目中尝试一下。我设法用Farmer替换了大多数ARM模板。
但是,这里还有Application Insights,因为那里的设置非常复杂,包括一些警报,预定的查询规则等。而Farmer当前supports用于AI的一切仅仅是名称,IP掩码和样本百分比。
我如何才能将AI设置插入Farmer中,这样我就不会仅仅因为那部分而拒绝Farmer?我的服务如下:
let webApp = webApp {
name appName
service_plan_name servicePlanName
sku WebApp.Sku.B1
always_on
...
}
解决方法
因此webApp
设置为此使用了一个构建器关键字link_to_unmanaged_app_insights
:
指示Farmer将此Web应用程序链接到外部管理的现有应用程序见解实例,而不是创建新实例。
但是,这里没有示例,只有one test在使用它,因此,经过一些试验,这是行得通的:
- 保持在源代码中在ARM中设置AI,例如
arm-template-ai.json
。 - 记下AI资源ID。
- 在F#应用设置中使用上述关键字:
let webApp = webApp {
name appName
service_plan_name servicePlanName
sku WebApp.Sku.B1
always_on
link_to_unmanaged_app_insights (ResourceId.create appInsightsName)
}
- 在发布管道中,首先从源代码中的AI ARM模板部署AI。
- 然后从Farmer生成的ARM模板中部署所有其他资源。
示例在Azure DevOps中的外观: