Azure 使用逻辑应用程序部署Arm模板引发错误:数据接收器可以’;不能在同一资源的同一类别的不同设置中重复使用

Azure 使用逻辑应用程序部署Arm模板引发错误:数据接收器可以’;不能在同一资源的同一类别的不同设置中重复使用,azure,devops,arm-template,Azure,Devops,Arm Template,因此,我为Event hub设置了一个Arm模板的部署,其中包含一些逻辑应用程序和一些相关的诊断设置,请参见img。 但是,当再次部署同一模板时,我们会遇到错误:“不能在同一资源的同一类别上的不同设置中重用数据接收器” 解决方案是在新部署之前删除诊断设置。但我不希望每次执行新部署时都手动执行此操作 有人想出解决办法了吗 谢谢 您可以使用PowerShell命令或Azure CLI命令删除资源的诊断设置 PowerShell命令(您可以找到文档): Azure CLI命令(您可以找到文档): O

因此,我为Event hub设置了一个Arm模板的部署,其中包含一些逻辑应用程序和一些相关的诊断设置,请参见img。

但是,当再次部署同一模板时,我们会遇到错误:“不能在同一资源的同一类别上的不同设置中重用数据接收器”

解决方案是在新部署之前删除诊断设置。但我不希望每次执行新部署时都手动执行此操作

有人想出解决办法了吗


谢谢

您可以使用PowerShell命令或Azure CLI命令删除资源的诊断设置

PowerShell命令(您可以找到文档):

Azure CLI命令(您可以找到文档):


OP说他们不想手动删除诊断设置。这是一个手动步骤,因此不是答案。手动意味着一次又一次地访问门户并将其删除。如果不为此使用代码/逻辑,您将如何实现自动化?问题是模板未能遵守预期行为,即如果模板相同,再次部署的同一诊断设置对象将是幂等的。OP描述的场景并非如此。理想的答案是描述如何使模板正常工作。我也遇到过同样的问题,许多带有诊断设置的逻辑应用程序都能完美地重新部署,其中一个应用程序会毫无理由地抛出此错误,手动删除诊断设置没有任何区别。
Remove-AzDiagnosticSetting -ResourceId "Resource01" -Name myDiagSetting
az monitor diagnostic-settings delete --name "myDiagSetting" --resource "Resource01"