Azure Web 作业 - 数据处理

Azure Web Job - Data Processing

我在 VS 中创建了一个 Azure Web 作业。我看到一个样板方法:

    static void Main()
    {
        var host = new JobHost();
        // The following code ensures that the WebJob will be running continuously
        host.RunAndBlock();
    }

也是函数方法:

    // This function will get triggered/executed when a new message is written 
    // on an Azure Queue called queue.
    public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)
    {
        log.WriteLine(message);
    }

很酷...但是我不想使用 Azure 队列或博客存储。我不需要传入任何数据作为参数或触发它。

我只是想要一份每小时 运行 并进行一些数据处理的工作。特意打了一个第三方API,加载了一些数据到我的Azure DB中。

我在这里错过了什么?

编辑

在这种情况下,我是否应该只使用普通控制台应用程序并将其发布为 "Azure Web Job"?

您应该只使用普通控制台应用程序并将其部署为 Azure Web 作业。请参阅以下步骤:

  1. 在解决方案资源管理器中右键单击 Web 项目,然后单击“添加”>“现有项目作为 Azure WebJob”。出现“添加 Azure Web 作业”对话框。
  2. 在项目名称下拉列表中,select 要添加为 WebJob 的控制台应用程序项目。
  3. 完成“添加 Azure Web 作业”对话框,然后单击“确定”。
  4. 发布网站向导出现。如果您不想立即发布,请关闭向导。您输入的设置会在您确实要部署项目时保存。

带有屏幕截图的来源:https://azure.microsoft.com/nl-nl/documentation/articles/websites-dotnet-deploy-webjobs/#convert

您可以在此处找到更多相关信息:https://azure.microsoft.com/nl-nl/documentation/articles/websites-dotnet-deploy-webjobs/

在此页面上,您还可以了解到,通过添加 Microsoft.Web.WebJobs.Publish NuGet 包和 webjob-publish-settings.json.[=14=,可以将控制台应用程序用作 Azure Web 作业]

示例 webjob-publish-settings.json:

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "WebJob1",
  "startTime": "2014-06-23T00:00:00-08:00",
  "endTime": "2014-06-27T00:00:00-08:00",
  "jobRecurrenceFrequency": "Minute",
  "interval": 5,
  "runMode": "Scheduled"
}

当您想将此 Azure Web 作业添加到现有的 Azure Web 应用程序(网站)项目时,您可以通过将 webjobs-list.json 文件添加到网站项目来 link webjob。

示例网络作业-list.json:

{
  "$schema": "http://schemastore.org/schemas/json/webjobs-list.json",
  "WebJobs": [
    {
      "filePath": "../ConsoleApplication1/ConsoleApplication1.csproj"
    },
    {
      "filePath": "../WebJob1/WebJob1.csproj"
    }
  ]
}