Powershell Azure交换不工作

Powershell Azure交换不工作,powershell,azure,azure-web-app-service,azure-powershell,Powershell,Azure,Azure Web App Service,Azure Powershell,我正在尝试使用切换AzureWebsiteSlot,如下所示: Switch AzureWebsiteSlot-Name'sitename'-slot1'Staging'-slot2'Production'-f 兽人-冗长 然而,即使我的网站有两个插槽,即暂存和默认生产,我仍然从Power Shell收到以下错误 Switch-AzureWebsiteSlot : The website must have at least two slots to apply swap At line:1

我正在尝试使用切换AzureWebsiteSlot,如下所示:

Switch AzureWebsiteSlot-Name'sitename'-slot1'Staging'-slot2'Production'-f 兽人-冗长

然而,即使我的网站有两个插槽,即暂存和默认生产,我仍然从Power Shell收到以下错误

Switch-AzureWebsiteSlot : The website must have at least two slots to apply swap
At line:1 char:1
+ Switch-AzureWebsiteSlot -Name 'sitename' -slot1 'St ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Switch-AzureWebsiteSlot], PSInvalidOperationException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Websites.SwitchAzureWebsiteSlotCommand

你知道为什么吗?您在编写代码时也遇到过这种情况吗?

切换AzureWebsiteSlot用于ASM网站。在您的情况下,我认为您已经创建了一个ARM网站,因此Switch AzureWebsiteSlot不适合在这里使用

要为ARM网站交换插槽,您需要使用以下脚本:

$ParametersObject = @{targetSlot  = "[slot name – e.g. “production”]"}
Invoke-AzureRmResourceAction -ResourceGroupName [resource group name]-ResourceType Microsoft.Web/sites/slots -ResourceName [web app name]/[slot name] -Action slotsswap -Parameters $ParametersObject -ApiVersion 2015-07-01
您可以查看详细信息

更新:
切换AzureWebsiteSlot也适用于ARM web应用程序。我的问题是我有两个订阅,以前测试命令时没有选择正确的订阅。多亏了弗莱明

之前:

现在使用正确的订阅:

即使您已经在ARM中创建了应用程序,该命令仍然有效

Switch-AzureWebsiteSlot -Name 'siteName' -slot1 'StagingDeploymentName' -slot2 'Production' -force -verbose
请检查您提供的名称以及插槽是否已启动并正在运行


我通过停止一个部署插槽并执行与您相同的错误来测试这一点。因此,我现在可以肯定,在您的情况下,任何一个插槽都没有处于运行状态。

对于ARM web应用程序,
Switch AzureWebsiteSlot
对我来说根本不起作用。获取以下错误消息:

Switch AzureWebsiteSlot:未指定默认订阅。 使用Select AzureSubscription-Default设置 默认订阅

据我所知,
selectazuresubscription
是一个ASM命令,因此不适用。(相反,对于ARM,我需要使用
选择AzureRmSubscription

这个命令对我起了作用:

Swap-AzureRmWebAppSlot -Name "sitename" -SourceSlotName "Staging" -DestinationSlotName "Production" -ResourceGroupName "<Your Resource Group Name"

Swap AzureRmWebAppSlot-Name“sitename”-SourceSlotName“Staging”-DestinationSlotName“Production”-ResourceGroupName“@FleminAdambukulam是的,问题解决了。谢谢大家:)我抓挠了一个小时,同时从我们的构建服务器收到了相同的错误消息,在这里应用了Ray的建议之后,我们的构建服务器发布步骤第一次起作用。谢谢你,雷。