Azure WebJobs SDK是否专门用于Azure存储?

Emi*_*lio 4 .net azure visual-studio azure-webjobs azure-webjobssdk

所有的文档(例如http://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-webjobs-sdk-get-started/)和样品项目为天青WebJobs SDK指钩和绑定Azure存储(表,博客和队列).我有兴趣将WebJobs用于与这些存储机制无关的功能,例如运行计算,调用服务或将它们与WebJobs SDK没有挂钩的其他存储服务一起使用.在这些情况下,使用WebJobs SDK有什么价值吗?我对(或许不正确)的印象是,sdk为管理自己的作业执行提供了许多其他好处,比如控制在单个线程中运行阻塞而在后台运行等等,也许与操作挂钩有关启动和停止作业,而一些挂钩到Visual Studio,等我知道我可以上传独立的EXE文件和脚本文件并运行它们作为WebJobs但我还假定,以这种方式运行更加不透明,给你少可视性工作执行以及控制它们的程序化能力较低.

是否有理由在Web表格,博客和队列存储服务的钩子之外使用WebJobs SDK?如果是这样,该文件在哪里?

小智 8

以下是一些我希望能回答你问题的细节.

WebJobs SDK具有绑定和触发系统,可与Microsoft Azure存储Blob,队列和表以及Service Bus一起使用.绑定系统可以轻松编写使用BCL类型读取或写入Microsoft Azure存储对象的代码.只要在队列或Blob中收到任何新数据,触发器系统就会调用代码中的函数.

SDK还提供丰富的诊断和监控体验,而无需开发人员编写任何诊断和日志记录代码.

现在我们有针对特定系统的触发器,例如上面提到的那些,但你可以自己编写更多触发器和绑定.我们将在此场景的基础上构建并在将来提供丰富的可扩展性故事,以便您可以为自己的系统/场景(如SqlServer等)编写触发器.

您不必使用Azure存储的情况示例如下.此原型显示了一个FileWatcher,它显示了在目录中检测到新文件时如何触发函数. https://github.com/rustd/WebJobsSDKSamples/tree/master/FileWatcher

您还可以使用JobHost.RunOnBackgroundThread或JobHost.Call()来处理后台的任何内容.SDK将为您提供记录,管理这些功能的执行的好处,例如,如果它们长时间运行并且永远不会完成,则取消这些功能,而不必终止该过程.我们很快就会添加异步支持,因此您的函数也可以返回Task.

您可以在WebJobs中使用SDK.WebJobs平台为您提供流程管理,例如启动/停止WebJob以及其他好处,例如扩展WebJob等.

正如您所提到的,如果您只是上传独立的EXE,您将无法获得对功能详细信息和日志记录的可见性.