參考來源 Azure App Services: Automate Application restart using Web Job
看到第一眼認定,這解答應該沒問題。
但,實際測試卻困難重重啊!
首先,請先安裝 Microsoft Azure PowerShell
我是透過 Microsoft Web Plateform Installer 安裝
安裝完以後,開啟Windows PowerShell ISE。
打入指令:
Login-AzureRmAccount
Save-AzureRmContext -Path "W:\azureprofile.json"
請注意 原文中 Save-AzureProfile 指令,目前最新的版本已經不支援了,請改用 Save-AzureRmContext。
參考來源:What happened to Save-AzureRmProfile?
執行後,會跳出視窗進行Azure帳號密碼驗證。
驗證通過,會將資訊存在你的硬碟W槽中的azureprofile.json
再來,第二段指令如下:
$ProgressPreference= "SilentlyContinue"
Import-AzureRmContext -Path "azureprofile.json"
Select-AzureRmSubscription -SubscriptionId '目標Web App的訂閱帳號Id'
Stop-AzureRmWebApp -Name '目標Web App名稱' -ResourceGroupName '目標Web App資源群組名稱'
Start-AzureRmWebApp -Name '目標Web App名稱' -ResourceGroupName '目標Web App資源群組名稱'
原文中 Select-AzureRmProfile ,目前最新的版本已經不支援了,請改用 Import-AzureRmContext。
將檔案儲存為run.ps1。
請注意,如果你是在本機執行, azureprofile.json的路徑要改成W:\azureprofile.json ,否則會找不到檔案。
之後,開一個新的資料夾。
將azureprofile.json 和 run.ps1 放進去,並且壓縮成.zip檔。
在Azure Web App中建立Web Job。
不過,我失敗了。(目前找不到方式解決)
失敗訊息是:InvalidOperation: (:) [Stop-AzureRmWebApp], PSIn
下星期再發微軟支援解決了,有後續再更新。
暫時找台主機處理這件事情。