App Service中有几个选项。我不会涉及Logic Apps或Azure Automation,它们也会涉及这个领域。
Azure Web作业
老实说,这篇文章是最好的解释,但这里我将进行总结。
按需WebJobs又名。预定的WebJobs。触发的Web作业
触发的WebJob是WebJob,它们在调用URL或schedule.job中存在schedule属性时运行一次。计划的WebJob只是创建了Azure计划程序作业以按计划调用我们的URL的WebJob,但是我们也支持schedule属性,如前所述。
摘要:
+
可执行文件/按需脚本
+
预定执行
-
必须通过.scm端点触发
-
缩放是手动的
-
始终需要VM
连续Web作业(非SDK)
这些作业将永远运行,当它们崩溃时我们将唤醒它们。您需要启用Always On才能使它们正常工作,这意味着要在Basic层及更高版本中运行它们。
摘要:
+
可执行文件/脚本始终运行
-
要求始终在线-基本层及以上
-
始终需要VM
使用WebJobs SDK的连续WebJobs
从“ WebJobs功能”的角度来看,这些都不是什么。本质上,我们有针对WebJobs编写的这个甜美的SDK,可让您基于简单的触发器执行代码。我将在以后再讨论。
摘要:
+
可执行文件/脚本始终运行
+
更丰富的日志记录/仪表板
+
支持触发器以及长时间运行的任务
-
要求始终在线-基本层及以上
-
缩放是手动设置
-
入门可能有点累
-
始终需要VM
Azure WebJobs SDK
Azure WebJobs SDK是与WebJobs平台功能完全独立的SDK。它旨在在WebJob中运行,但实际上可以在任何地方运行。我们的客户是根据工作人员角色甚至是Prem或其他云运行它们的,尽管支持只是最大的努力。
SDK旨在简化响应某些事件的代码并绑定到services / etc的过程。简单。老实说,最好在某些文档中介绍,但这的核心是“事件” +“代码”性质。我们还做了一些很酷的可扩展性工作,但这是核心目的的第二要务。
摘要:
- 上面提到了大多数
+
您可以扩展并运行所需的任何内容。完全控制。
-
HTTP东西有点古怪,但是可以用
Azure功能
Azure Functions就是为了实现WebJobs SDK的核心目的,将其作为服务托管,并使其易于开始使用其他语言。我们还在这里引入“无服务器”概念,因为这样做非常有意义-我们知道我们的SDK如何扩展,因此我们可以为您做一些明智的事情。
Azure Functions是一种非常受管理的体验。我们不支持自己带房东。当前,我们不支持自定义扩展,但我们正在调查它。我们对您可以做和不能做的事情持保留意见,但是对于我们启用的功能,它们很精巧,易于使用和管理。
不过,我们为改进功能所做的大多数“框架”工作都是通过WebJobs SDK进行的。例如,我们将上传一个新的NuGet for WebJobs,它确实可以大大提高日志记录的速度,这对于WebJobs SDK用户而言具有巨大的性能优势。在将功能作为“ WebJobs SDK即服务”发布时,我们确实改善了很多体验问题。
由于Functions是我们的最新也是最伟大的产品,所以我可能有偏见,但是请随时为Functions拍摄更多缺点。
我可能最终会发布一个博客,其中详细介绍了一些内容,但是我试图使这个论坛尽可能简洁。