如何使用 azure CLI 停止插槽中的函数应用程序

How to stop a functionapp in a slot using azure CLI

我想使用 Azure CLI 发出命令,仅停止特定部署槽中的函数应用程序。

Azure CLI 2.0 文档Azure CLI 2.0 documentation列出了命令:

az functionapp stop --name
                    --resource-group

但我不清楚如何停止的不是 "main" 应用程序,而是特定部署槽中的应用程序。

在我的例子中,插槽称为 dev,应用程序称为 myapp。我试过:

az functionapp stop --name=dev --resource-group=myresourcegroup
The Resource 'Microsoft.Web/sites/dev' under resource group myresourcegroup' was not found.

az functionapp stop --name=myapp/dev --resource-group=myresourcegroup
az functionapp stop --name='myapp/dev' --resource-group=myresourcegroup
Operation failed with status: 'Not Found'. Details: 404 Client Error: Not Found for url: https://management.azure.com/subscriptions/long-guid/resourceGroups/myresourcegroup/providers/Microsoft.Web/sites/myapp%2Fdev/start?api-version=2016-08-01

我可以毫无问题地停止主应用程序。当我发出停止主应用程序的命令时,部署槽中的应用程序不会停止(正如我在门户 GUI 中看到的那样)。

那么,如何从命令行停止部署槽中的应用程序?

您可以使用az resource invoke-action --action stop --ids停止功能应用程序插槽

例如:

az resource invoke-action --action stop --ids  /subscriptions/*********/resourceGroups/shuiResourceGroup/providers/Microsoft.Web/sites/shuiFunctionApp/slots/shuiSlot