每隔几分钟运行一次的Azure WebJob

每隔几分钟运行一次的Azure WebJob,azure,azure-webjobs,azure-webjobssdk,Azure,Azure Webjobs,Azure Webjobssdk,我正在尝试在Azure中设置计划的WebJob。我能够部署我的webjob。我可以通过门户显式运行webjob。然而,我似乎无法让它按循环计划运行 我希望作业每5分钟运行一次。我意识到这不是免费的,我已经改为付费级别,并调整了最大重复阈值设置。有一次,由于设置的原因,我遇到了一个错误 当我部署WebJob时,它会显示为“按需”,并且不会运行。我做错了什么 以下是我所拥有的: webjob-publish-settings.json { "$schema": "http://schemasto

我正在尝试在Azure中设置计划的WebJob。我能够部署我的webjob。我可以通过门户显式运行webjob。然而,我似乎无法让它按循环计划运行

我希望作业每5分钟运行一次。我意识到这不是免费的,我已经改为付费级别,并调整了最大重复阈值设置。有一次,由于设置的原因,我遇到了一个错误

当我部署WebJob时,它会显示为“按需”,并且不会运行。我做错了什么

以下是我所拥有的:

webjob-publish-settings.json

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "Shopping-Logs-WebJob",
  "startTime": "2016-01-07T00:00:00-08:00",
  "endTime": null,
  "jobRecurrenceFrequency": "Minute",
  "interval": 5,
  "runMode": "Scheduled"
}
Program.cs

public class Program
{
    static void Main()
    {
        var host = new JobHost();
        host.Call(typeof(Functions).GetMethod("ManualTrigger"));
    }
}
函数.cs

public class Functions
{
    [NoAutomaticTrigger]
    public static void ManualTrigger(TextWriter log)
    {
        string storageAccountName = CloudConfigurationManager.GetSetting("AzureStorageAccountName");
        string storageKey = CloudConfigurationManager.GetSetting("AzureStorageAccessKey");

        SendMessage("String Fetched", (storageAccountName ?? String.Empty) + ":" + (storageKey ?? String.Empty));

        if (String.IsNullOrWhiteSpace(storageAccountName) || String.IsNullOrWhiteSpace(storageKey))
        {
            return;
        }

        StorageCredentials storageCredentials = new StorageCredentials(storageAccountName, storageKey);
        CloudStorageAccount storageAccount = new CloudStorageAccount(storageCredentials, true);
    }

    private static void SendMessage(string subject, string message = null)
    {
        // sends an email. It works when I run the job explicitly in the portal
    }
}
我在作业计划日志中也发现了这一点。它在寻找什么凭证

Http Action - Response from host '[mysite].scm.azurewebsites.net': 'Unauthorized' Response Headers: Date: Mon, 25 Jan 2016 22:02:01 GMT
Server: Microsoft-IIS/8.0
WWW-Authenticate: Basic realm="site"
 Body: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>  <title>401 - Unauthorized: Access is denied due to invalid credentials.</title>  <style type="text/css">  <!--  body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}  fieldset{padding:0 15px 10px 15px;}   h1{font-size:2.4em;margin:0;color:#FFF;}  h2{font-size:1.7em;margin:0;color:#CC0000;}   h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}   #header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;  background-color:#555555;}  #content{margin:0 0 0 2%;position:relative;}  .content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}  -->  </style>  </head>  <body>  <div id="header"><h1>Server Error</h1></div>  <div id="content">   <div cla
Http操作-来自主机“[mysite].scm.azurewebsites.net”的响应:“未经授权”响应标题:日期:2016年1月25日星期一22:02:01 GMT
服务器:Microsoft IIS/8.0
WWW-Authenticate:Basic-realm=“站点”

正文:401-未经授权:由于凭据无效,访问被拒绝。服务器错误您可以将settings.job文件包含到webjob项目中,内容如下:

{
  "schedule": "0 */5 * * * *"
}
每5分钟运行一次

更多信息请点击此处:

解决方案是进入调度程序并使用部署凭据将其更新为使用“基本”身份验证


使用CRON语法或Settings.job文件的解决方案不起作用。VS2015甚至不会部署它。

另请参见官方文件:您找到答案了吗?