【问题标题】:How to update the settings.job via the scm.azurewebsites.net REST API?如何通过 scm.azurewebsites.net REST API 更新 settings.job?
【发布时间】:2017-10-30 17:44:22
【问题描述】:

我们希望在 Web 应用中使用插槽,并希望进行插槽交换。我们有按计划运行的作业。当我们交换插槽时,我们需要让作业按照该环境的正确时间表运行/

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

【问题讨论】:

  • 你可以使用 Kudu vfs API 来替换一个文件
  • @DavidEbbo 如何使用基于 REST 的文件服务 API 来使用 powershell 更新文件?
  • 这就是 wah Kuud vfs API。还是你的意思是别的?

标签: powershell azure azure-web-app-service azure-webjobs


【解决方案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

【讨论】:

    猜你喜欢
    • 2019-02-08
    • 2021-06-11
    • 1970-01-01
    • 2019-07-13
    • 2020-03-30
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    相关资源
    最近更新 更多