如何用PowerShell执行Azure Function App带预览的部署槽交换
问题
我有一个配置了两个部署槽的Azure Function App,请问是否存在对应的PowerShell命令,可实现带预览的部署槽交换操作?

答案
存在对应PowerShell命令,你截图中的带预览分阶段交换功能可通过Az PowerShell模块实现。Azure Function App底层基于App Service运行,部署槽相关操作和App Service共用同一套命令,核心使用Switch-AzWebAppSlot cmdlet搭配不同参数即可完成全流程操作:
- 前置准备:安装导入Az模块,执行
Connect-AzAccount登录Azure账号,通过Set-AzContext切换到Function App所在的目标订阅。如果未安装站点相关模块,可执行Install-Module Az.Websites安装最新版组件,旧版AzureRM模块已停止维护,不建议使用。 - 启动带预览的交换:执行命令时添加
-WithPreview参数,该操作会将目标槽(通常为生产槽production)的配置应用到源部署槽,不会立即切换流量,你可以在源槽验证配置、业务逻辑是否符合预期。
以staging槽交换到production槽为例,替换命令中尖括号包裹的自定义参数即可使用:Switch-AzWebAppSlot -ResourceGroupName "<你的资源组名称>" -Name "<你的Function App名称>" -SourceSlotName "staging" -DestinationSlotName "production" -WithPreview - 完成交换:预览阶段验证无问题后,添加
-CompleteSwap参数执行命令,即可完成完整槽交换,将生产流量切到新版本:Switch-AzWebAppSlot -ResourceGroupName "<你的资源组名称>" -Name "<你的Function App名称>" -SourceSlotName "staging" -DestinationSlotName "production" -CompleteSwap - 取消预览交换:如果预览阶段发现功能异常、配置错误,添加
-RevokeSwapPreview参数执行命令,即可回滚配置,终止本次交换流程:Switch-AzWebAppSlot -ResourceGroupName "<你的资源组名称>" -Name "<你的Function App名称>" -SourceSlotName "staging" -DestinationSlotName "production" -RevokeSwapPreview
内容的提问来源于stack exchange,提问作者user989988
相关产品推荐
相关产品推荐

