2017-08-09 84 views

回答

0

您可以通过创建Web作业并放置PowerShell脚本来停止和启动Web应用程序来实现此目的。

要执行Azure App Service的启动/停止操作,Web作业应该可以访问您的订阅。它还需要您的Azure配置文件。

Login-AzureRmAccount 
Save-AzureRmProfile -Path "E:\azureprofile.json" 

创建PowerShell来停止/启动应用程序服务

创建一个新的文件夹,将在 上一步中下载的发布配置文件。

创建PowerShell和保存为run.ps1

$ProgressPreference= "SilentlyContinue" 
Select-AzureRmProfile -Path "azureprofile.json" 
Select-AzureRmSubscription -SubscriptionId '<subscriptionId>' 
Stop-AzureRmWebApp -Name '<AppService-Name>' -ResourceGroupName '<Resource-Group-Name>' 
Start-AzureRmWebApp -Name '<AppService-Name>' -ResourceGroupName '<Resource-Group-Name>' 

在App Web Service的工作部分添加这一点,并运行基于通过创建一个cron表达您的要求。

参考:Azure App Services: Automate Application restart using Web Job

+0

命令Save-AzureRmProfile -Path“E:\ azureprofile.json”返回一个错误,指出“Save-AzureRmProfile”未被识别为cmdlet,函数,脚本文件或可操作程序的名称。 – Apurva

+0

Select-AzureRmSubscription现在发生错误。 – Apurva

+0

您正在使用哪个版本的Powershell? Save-AzureRmProfile适用于3.7版本。您可以使用以下cmdlet来检查Azure PowerShell版本。 Get-Module -ListAvailable -Name Azure -Refresh 如果您使用的是最新版本,那么您可以使用Save-AzureRmContext -Path“E:\ azureprofile.json”。 参考:https://github.com/Azure/azure-powershell/blob/preview/documentation/release-notes/migration-guide.4.0.0.md – Ashok

0

保存-AzureRmProfile -Path “E:\ azureprofile.json” 返回错误但命令保存-AzureRmContext路径 “C:\ script.json” 给出的输出为相同的Save-AzureRmProfile -Path“E:\ azureprofile.json”。

+0

请在发布答案的原始问题实例中包含更新这会让社区感到困惑。 –

0

我们也可以用Azure Rest API来做到这一点。关于如何获取访问令牌请参考azure document

POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart?api-version=2016-08-01&softRestart&synchronous={softRestart&synchronous} 

下列文件类型均被WebJob接受:

.CMD,.BAT,.EXE(使用在cmd视窗)

的.ps1(使用的powershell)。 sh(使用bash)

.php(使用php)

的.py(使用python)

的.js(使用节点)

的.jar(用java)

如果C#是可能的,有一个example使用NET库。

相关问题