需要澄清Azure Functions生态系统

时间:2019-01-22 22:29:01

标签: azure azure-functions

我很难理解关于Azure Functions的当前可用的当前选项和组件集(2019年1月)。我的问题的一部分可能还在于术语和/或版本控制令人困惑,以及看起来非常陈旧的文档(此处列出的许多页面(https://docs.microsoft.com/en-us/azure/app-service/overview-diagnostics)的日期仍为2017年。)。

据我了解

  • Azure Functions具有原始的版本1 ,该功能使您可以运行以.NET Full Framework为目标的代码段
  • Azure函数有更新的版本2 ,它使您可以运行针对.NET Standard / Core的代码段。去年是beta版(??),预览版(??),在 GA 于2018年9月/ 10月左右发布?
  • 所有新功能都将针对功能运行时(??)的版本2
  • 有一个 UI门户(??)(https://docs.microsoft.com/en-us/azure/azure-functions/functions-runtime-installhttps://aka.ms/azafrv2),标记为 Preview 2 似乎将于2017年11月发布。有趣的是,它确实提供了在内部运行 v1 v2 Azure功能的选项。
  • 不确定Azure Webjobs SDKAzure Functions HostWebJobs ScriptAzure Core ToolsAzure Functions Runtime之间的关系。

最终,我希望在内部运行Azure Functions,并且需要同时支持 v1 v2 。尽管我们将要创建的绝大多数功能将针对较新的v2,但是我们有两个或三个.NET库尚未从Full Framework移植出来,并且由于它们是第三方,因此我们无法控制时间范围。)

理想情况下,我们希望为开发人员提供一个内部门户,以从Visual Studio上传功能,甚至通过浏览器创建功能。

更好的办法是将功能容器化并在内部Azure Service Fabric中运行它们。 (我意识到这是高级的,可能超出了本文的范围。)

1 个答案:

答案 0 :(得分:1)

将您的问题总结为3分

  1. 运行时差异(前三项)

    您的理解完全正确,因为V1面向.Net Core上的Full NetFramework和V2,自2018年9月24日起宣布为GA。是的,所有新功能都将仅针对V2。

  2. 这些术语之间的关系(第五项)。

    Azure Webjobs SDK是一个框架,可简化编写在Azure中运行的后台处理代码的任务。在.NET函数中,Microsoft.NET.Sdk.Functions引用了它(以及Webjobs扩展名)。

    WebJobs.Script = Azure Functions主机= Azure Functions运行时,我们的功能在此运行。它基于Azure WebJobs SDK构建,并为其启用了轻量级脚本模型,脚本库完成了将功能脚本插入Azure WebJobs SDK运行时所需的工作。

    Azure Functions Core Tools(CLI)是与Azure Functions运行时集成的命令行工具。我们的本地开发(例如运行,调试)取决于此工具。

  3. Azure函数运行时预览2(第4项)

    它提供了类似于Azure Function门户的UI,并消耗了obsolete docker hub image中非常古老的Function运行时。正如您在thread中所发现的,没有计划进行更新,不确定是否会放弃。

    到目前为止,我们还无法在本地门户网站上正常工作,只能使用CLI或容器进行本地运行。请注意,v1功能没有图像。不熟悉Azure Service Fabric,因此没有更多建议。