空暂存槽的 Azure 诊断扩展 ConflictError (Azure SDK 2.6)

Azure diagnostics extension ConflictError for empty Staging slot (Azure SDK 2.6)

我正在使用 PowerShell 中的 New-AzureDeployment 以及通过 New-AzureServiceDiagnosticsExtensionConfig 创建的用于诊断的扩展配置将 Azure 云服务部署部署到一个空的暂存槽。

当我将其切换到生产环境并调用时:

Get-AzureServiceDiagnosticsExtension -ServiceName "my-service-name-here" -Slot Production

"Id" 属性 返回为 "MyRole-PaaSDiagnostics-Staging-Ext-0"。请注意,它仍然显示 "Staging".

现在,如果我尝试对暂存进行新的部署,我会收到一条错误消息:

New-AzureDeployment : ConflictError: The extension ID MyRole-PaaSDiagnostics-Staging-Ext-0 is already in use for this deployment.

这似乎已损坏,因为当时没有任何部署到暂存。我可以使用诊断扩展将新云服务部署到 "Staging" 的唯一方法是,如果我首先使用 Remove-AzureServiceDiagnosticsExtension 从 "Production" 中删除诊断扩展。

这是一个错误还是关于我可能做错了什么的想法?我没有看到允许我为扩展程序指定备用 ID 的选项。

更新

这对我来说绝对是个错误。如果我这样做:

Get-AzureServiceDiagnosticsExtension -ServiceName "my-service" -Slot Production

我取回了带有暂存 ID 的扩展。如果我执行以下操作:

Remove-AzureServiceDiagnosticsExtension -ServiceName "my-service" -Slot Production

我回来了(注意:该扩展最初部署到暂存区,然后我将其交换到生产环境):

WARNING: No existing Microsoft.Azure.Diagnostics.PaaSDiagnostics extensions enabled on given roles.

如果我执行以下操作:

Remove-AzureServiceDiagnosticsExtension -ServiceName "my-service" -Slot Staging

我回来了:

Remove-AzureServiceDiagnosticsExtension : Deployment not found in service: my-service and slot: Staging.

因此,实际上我没有先将新内容部署到插槽中就可以删除诊断扩展的方法为零。

原来这是 github azure-powershell 项目中报告的错误:https://github.com/Azure/azure-powershell/issues/193

而且看起来有人也已经提交了可能的修复程序。