如何判断哪个Azure应用服务(网站)插槽是"活动"?

时间:2016-11-04 11:39:53

标签: powershell azure azure-web-sites

我们有一个Azure应用服务(网站),它有一个名为离线的额外部署插槽,我们希望在主网站离线进行维护时使用。

我正在尝试编写一个PowerShell脚本,该脚本将在此脱机插槽和生产槽之间切换,反之亦然,具体取决于传递给脚本的参数。但是,脚本还必须在切换发生时执行其他操作,因此了解当前哪个插槽"活动"。

非常重要。

问题在于我无法找到确定这一点的方法。我使用的是资源管理器cmdlet(<input ng-class="{ 'myClass': model. Something != somethingElse }"> ),虽然我可以打电话:

*-AzureRm*
根据我的判断,

这个返回的对象中没有任何内容可以帮助我。这是Get-AzureRmWebAppSlot -ResourceGroupName xxx -Name websitename -Slot offline 返回的对象的相同故事。

由于似乎没有资源管理器cmdlet,我还可以使用其他任何技术吗?我现在所能想到的只是拥有一个只存在于离线网站上的特定网页,并通过查询实时网站来检查该网页的存在:这应该告诉我当前有哪个插槽。这看起来有点像hacky。

1 个答案:

答案 0 :(得分:1)

您可以设置标识应用的非插槽专用应用设置。在进行交换时,这将与应用程序交换。

E.g。在生产广告位上使用密钥 AppVersion 和值生产设置应用设置,并在离线状态下使用相同的密钥和值离线设置应用设置槽。

您可以使用PowerShell访问应用设置,如下所示:

(Get-AzureRmWebApp -ResourceGroupName your-resource-group -Name your-webapp).SiteConfig.AppSettings