使用Powershell发布云服务 - 保留的Ip问题

时间:2016-05-10 14:29:23

标签: .net powershell azure

我在Azure中有一个Cloud Service,我决定编写一个PowerShell脚本来自动构建&发布此Cloud Service。我坚持一个问题。当我在运行以下内容时:

Set-AzureDeployment -Upgrade -Slot $slot -Package $package_url -Configuration $config -ServiceName $service -Force

我收到了以下错误:

  

Set-AzureDeployment:BadRequest:无法添加保留的IP,   在deplyoment更新或升级期间删除或更改。

我不想对保留IP做任何事情。在配置文件(由msbuild生成)中,有如下部分:

<ReservedIPs>
   <ReservedIP name="MY-SERVICE-NAME-SLOT" />
</ReservedIPs>

我试图删除它,但它没有帮助。 如果我第一次部署我的服务,一切都按预期工作。我无法相信您只能发布新的云服务但无法使用PowerShell进行更新,这对我来说毫无意义。必须有一种方法来使用PowerShell更新服务。

任何帮助表示感谢。

修改

正如@WilfriedWoivré建议我使用以下命令检查ReservedIPName:

    $deployment = Get-AzureDeployment -ServiceName $service -Slot $slot -ErrorAction silentlycontinue 
    Write-Host $deployment.Name
    Get-AzureReservedIP

执行后

  

GET-AzureReservedIP

我发现我的配置中的ReservedIPName与我正在尝试升级的deplyoment中存在的那个完全相同。所以答案是错误的。

先生。 WilfriedWoivré - 将来请在发布之前测试你的答案

1 个答案:

答案 0 :(得分:0)

即使您有ReservedIP,也可以在Azure上升级您的云服务。你的脚本似乎是正确的。

为此,在现有服务和配置文件上,ReservedIP必须相同。 您可以使用此命令检查当前部署

Get-AzureDeployment -ServiceName $service -Slot $slot

要验证您的ReservedIP,您可以调用方法Get-AzureReservedIP,您可以看到每个

的使用