【发布时间】:2018-09-14 16:45:09
【问题描述】:
我可以从 Portal 进行此交换,但不能通过 PowerShell 进行此操作
Switch-AzureRmWebAppSlot -ResourceGroupName "z_test_amp_Resource_Group" -Name "z-test-amp-EXPERIMENT-TEST-APP" -DestinationSlotName "z-test-amp-EXPER-DEPLOY-SLOT-01" -SourceSlotName "production"
它给出了错误:
资源组下的资源“Microsoft.Web/sites/z-test-amp-EXPERIMENT-TEST-APP/slots/production” 找不到“z_test_amp_Resource_Group”。
在 Portal Swap 对话框中,它在 Source DDL 中提供“生产”,并且工作正常。
只涉及一个订阅。
在我尝试过的 PowerShell cmdlet 中:
-SourceSlotName "生产"
-SourceSlotName z-test-amp-EXPERIMENT-TEST-APP
-SourceSlotName "z-test-amp-EXPERIMENT-TEST-APP"
在每种情况下,我都会收到相同类型的消息:找不到该名称的插槽。
如果我省略 -SourceSlotName 参数,它似乎会接受其他所有参数,然后要求提供 -SourceSlotName。
如果我获得了网络应用程序的插槽列表,请使用:
Get-AzureRmWebAppSlot -ResourceGroupName z_test_amp_Resource_Group -name z-test-amp-EXPERIMENT-TEST-APP
它列出(大量信息,然后是最后) 名称:z-test-amp-EXPERIMENT-TEST-APP/z-test-amp-EXPER-DEPLOY-SLOT-01
这看起来可能是答案
Switch-AzureRmWebAppSlot no longer supports Production slot name
说试试这个:
Switch-AzureRmWebAppSlot -ResourceGroupName "z_test_amp_Resource_Group" -Name "z-test-amp-EXPERIMENT-TEST-APP" -SourceSlotName "z-test-amp-EXPER-DEPLOY-SLOT-01"
但是省略目标槽会产生错误“TargetSlot 不能为空”
然后像这样包含 -TargetSlot 参数:
Switch-AzureRmWebAppSlot -ResourceGroupName "z_test_amp_Resource_Group" -Name "z-test-amp-EXPERIMENT-TEST-APP" -SourceSlotName "z-test-amp-EXPER-DEPLOY-SLOT-01" -TargetSlot production
导致此错误:
找不到与参数名称“TargetSlot”匹配的参数。
问题:为什么这不起作用/此 cmdlet 的新正确语法是什么?
【问题讨论】:
标签: azure powershell deployment azure-web-app-service