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 作业。请参阅以下步骤:
- 在解决方案资源管理器中右键单击 Web 项目,然后单击“添加”>“现有项目作为 Azure WebJob”。出现“添加 Azure Web 作业”对话框。
- 在项目名称下拉列表中,select 要添加为 WebJob 的控制台应用程序项目。
- 完成“添加 Azure Web 作业”对话框,然后单击“确定”。
- 发布网站向导出现。如果您不想立即发布,请关闭向导。您输入的设置会在您确实要部署项目时保存。
带有屏幕截图的来源: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"
}
]
}
我在 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 作业。请参阅以下步骤:
- 在解决方案资源管理器中右键单击 Web 项目,然后单击“添加”>“现有项目作为 Azure WebJob”。出现“添加 Azure Web 作业”对话框。
- 在项目名称下拉列表中,select 要添加为 WebJob 的控制台应用程序项目。
- 完成“添加 Azure Web 作业”对话框,然后单击“确定”。
- 发布网站向导出现。如果您不想立即发布,请关闭向导。您输入的设置会在您确实要部署项目时保存。
带有屏幕截图的来源: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"
}
]
}