gpt4 book ai didi

azure - 为什么API应用没有消费计划?

转载 作者:行者123 更新时间:2023-12-03 06:32:24 25 4
gpt4 key购买 nike

如果我将一堆 Azure Functions 部署到函数应用中,并将函数应用设置为使用消耗计划,则每个日历月前 100 万次调用的计算成本基本上是免费的。

为什么我不能使用 MVC 或 OData 之类的 Web API 来执行此操作?我能看到的唯一区别是使用的框架部分,大概有一些基础设施的原因?

这会导致...我很想让所有 API 实现成为一组 Azure Functions,以充分利用云成本,但感觉我在这里让基础设施成本过多地决定了我的技术决策,或者我错过了一些东西。

作为一个次要问题,如果有任何 MSFT 窥探,微软是否会考虑让所有 Azure 应用服务都可以进行消费计划?

最佳答案

应用服务和功能应用之间的最大区别在于,对于您的应用服务,有一个专门用于运行应用服务的应用服务计划,该计划会保留一组资源,例如 CPU 和内存。

An App Service plan defines a set of compute resources for a web app to run. These compute resources are analogous to the server farm in conventional web hosting. One or more apps can be configured to run on the same computing resources (or in the same App Service plan).

When you create an App Service plan in a certain region (for example, West Europe), a set of compute resources is created for that plan in that region. Whatever apps you put into this App Service plan run on these compute resources as defined by your App Service plan.

来源:Azure App Service plan overview

对于消费计划中的功能应用,这是应用服务计划的专用版本。在这种情况下,您无需多说该计划的配置方式或它获得的资源:这些都为您作为用户抽象出来。

When you're using the Consumption plan, instances of the Azure Functions host are dynamically added and removed based on the number of incoming events. The Consumption plan is the fully serverless hosting option for Azure Functions.

来源:https://learn.microsoft.com/en-us/azure/azure-functions/consumption-plan

虽然 Azure Functions Host 是一个通过检查您的 Function App 是否正在被调用以及请求是否需要传递到您的代码来不断处理请求的应用程序,但在更传统的应用程序中,例如一个 MVC 应用程序,您的应用程序实际上从头到尾处理请求。

编辑

why can't I put an MVC controller up on the same contract terms in the cloud as I can with an azure function

因为应用服务的当前实现“类似于传统 Web 托管中的服务器场”,这意味着它需要整个 Web 应用程序。 Azure 函数需要一段可以处理请求的代码(更好:触发器)。 Controller 不仅仅是这样,它周围还有一些(很多......?)绒毛才能工作。

并且,有些简化:因为 Azure 尚未提供它。大概是因为它会使 Azure Functions 在如何实现(.NET、HTTP 触发)函数方面过于偏向。

抽象:函数是一段可以处理触发器的代码。这个触发器可以是很多东西,其中之一就是 HTTP 请求。从 Functions 运行时的角度来看,所有触发器只需要映射到处理程序。目前,该处理程序可以被视为与框架无关,Azure Functions 仅规定它遵守某个签名。

通过允许开发人员托管 MVC Controller 作为 Azure Functions 的处理程序,这也意味着它需要将 Controller 周围的所有内容都就位(什么、如何……?)或 Controller 被精简为“仅仅”成为 HTTP 触发器的处理程序...这将使其成为常规的 Azure 函数。

关于azure - 为什么API应用没有消费计划?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75172301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com