24小时后如何自动重启应用服务?如何通过使用Web作业安排应用服务在特定时间自动重启?
答案 0 :(得分:1)
您可以通过创建Web作业并放置PowerShell脚本来停止和启动Web应用程序来实现此目的。
要执行Azure App Service的启动/停止操作,Web作业应该可以访问您的订阅。它还需要您的Azure配置文件。
Login-AzureRmAccount
Save-AzureRmProfile -Path "E:\azureprofile.json"
创建PowerShell以停止/启动App Service
创建一个新文件夹并放置下载的发布配置文件 上一步。
创建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 Service Web作业部分添加此内容,并根据您的要求运行,方法是创建一个cron表达式。
参考:Azure App Services: Automate Application restart using Web Job
答案 1 :(得分:0)
Save-AzureRmProfile -Path“E:\ azureprofile.json”返回错误,但命令Save-AzureRmContext-Path“C:\ script.json”提供的输出与Save-AzureRmProfile -Path的输出相同“ E:\ azureprofile.json”
答案 2 :(得分: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(使用windows cmd)
.ps1(使用powershell)
.sh(使用bash)
.php(使用php)
.py(使用python)
.js(使用节点)
.jar(使用java)
如果可以使用C#,则使用.Net库example。
答案 3 :(得分:0)
您也可以使用LogicApps或RunBooks进行此操作。这是使用Logic Apps的示例:https://blog.aggregatedintelligence.com/2020/01/restarting-web-app-using-logic-apps.html
基本上,您创建一个触发器,然后添加“ Azure RM Invoke Action”。这些设置需要经过充分记录,因此我将其记录在博客中。从根本上讲,这是确保按计划进行的最简单方法,并且可以将先前关于REST API(Azure RM操作在幕后使用),Web作业(无需创建一个)的讨论汇总在一起。 ,因为LogicApp会为您运行它。