如何通过scm.azurewebsites.net REST API更新settings.job?

时间:2017-10-30 17:44:23

标签: powershell azure azure-web-sites azure-webjobs

我们希望在我们的Web App中使用插槽,并希望进行插槽交换。我们的工作按计划进行。当我们交换插槽时,我们需要按照该环境/

的正确计划运行作业

更新时间表的推荐方法是什么?首选方法是使用PowerShell。

1 个答案:

答案 0 :(得分:1)

正如David Ebbo评论的那样,您可以利用Kudu WebJobs API关于设置触发作业的时间表,如下所示:

PUT /api/triggeredwebjobs/{job name}/settings

Body {"schedule": "0 */2 * * * *"}
  

更新时间表的推荐方法是什么?首选方法是使用PowerShell。

您可以使用以下命令:

$username = "<username>"
$password = "<password>"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$contentType='application/json'
$data= @{
   schedule='*/30 * * * * *'
}
$body = $data | ConvertTo-JSON

$apiUrl = "https://<your-appname>.scm.azurewebsites.net/api/triggeredwebjobs/<job-name>/settings"
Invoke-RestMethod -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method Put -Body $body -ContentType $contentType 

此外,你可以参考这个类似的issue