azure - 需要澄清 Azure Functions 生态系统

标签 azure azure-functions

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

据我了解

  • Azure Functions 的原始版本 1 允许您运行针对 .NET Full Framework 的代码片段
  • 有较新的 Azure Functions 版本 2,它允许您运行针对 .NET Standard/Core 的代码片段。这是去年的测试版 (??)、预览版 (??),并于 2018 年 9 月/10 月左右进入GA
  • 所有新功能都将针对函数运行时版本 2 (??)
  • 有一个 UI Portal (??)( https://learn.microsoft.com/en-us/azure/azure-functions/functions-runtime-installhttps://aka.ms/azafrv2 )标记为 Preview 2似乎从 2017 年 11 月开始。有趣的是,它确实提供了在本地运行 v1v2 Azure Functions 的选项。
  • 不确定 Azure Webjobs SDKAzure Functions HostWebJobs ScriptAzure Core Tools 之间的关系是什么> 和Azure Functions 运行时

最终,我希望在本地运行 Azure Functions,并且需要支持 v1v2。虽然我们要创建的绝大多数功能都将针对较新的 v2,但我们有两三个 .NET 库尚未从完整框架中移植,并且由于它们是第三方,因此我们无法控制时间范围。)

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

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

最佳答案

将你的问题总结为 3 点

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

    您的理解是完全正确的,V1 针对 Full NetFramework,V2 针对 .NET Core,该版本已于 2018 年 9 月 24 日宣布正式发布。是的,所有新功能都将仅针对 V2。

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

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

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

    Azure Functions Core Tools(CLI)是与 Azure Functions Runtime 集成的命令行工具。我们本地的开发(例如运行、调试)就依赖于这个工具。

  3. Azure Functions Runtime 预览 2(第 4 项)

    它提供了类似于 Azure Function 门户的 UI,并使用 obsolete docker hub image 中非常旧的 Function 运行时。 。正如您在 thread 中找到的那样,没有更新计划,不知道会不会废弃。

    到目前为止,我们无法获得可用的本地门户,只能转向 CLI 或容器进行本地运行。请注意,v1 函数没有图像。不熟悉 Azure Service Fabric,因此没有更多建议。

关于azure - 需要澄清 Azure Functions 生态系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54317385/

相关文章:

c# - Azure Durable Functions 无法将 HttpRequestMessage 作为 OrchestrationClient.StartNewAsync 的输入传递

azure - 运行 Azure 函数将出现 .net 4.7.1 安装提示对话框

Azure DevOps Wiki 页面 - 权限 - 创建 Wiki

azure - 无法运行Azure管道 "A task is missing. The pipeline references a task called '缓存'

azure - 部署后找不到node_modules

python-3.x - 在 Azure Functions 的脚本中导入 python-tabular 时出现错误

python - 有没有办法使用 VS Code 和 Python 监视 Azure Functions 中的内存消耗?

c# - RemoteCertificateChainErrors - 空 ChainElementStatus C#

python-3.x - 列出所有 Azure 订阅

json - Azure 逻辑应用程序返回难以使用的 json 字符串