通过函数应用在 API 管理中创建新的 API

已完成

使用 Azure API Management 服务,可从一组分散的微服务构造 API。

在在线商店中,应用程序的每个部分都作为微服务实现 - 一个用于产品详细信息,一个用于订单详细信息,以此类推。 由独立的团队管理每个微服务,每个团队使用持续开发和交付来定期更新和部署其代码。 你需要寻找一种方法,将这些微服务组装到单个产品中,然后集中管理该产品。

在本单元中,你将了解 Azure API 管理如何在无服务器体系结构中发挥作用,方法是基于各个微服务构建单个 API。

无服务器体系结构和微服务

微服务是分布式应用程序的体系结构的常用方法。 当你将应用程序构建为微服务集合时,你将创建许多不同的小型服务。 每个服务都具有已定义的责任域,并单独开发、部署和缩放。 此模块化体系结构使应用程序更易于理解、改进和测试。 它还简化了持续交付,因为在部署微服务时你只更改整个应用程序的一小部分。

分布式软件开发的另一个补充趋势是无服务器体系结构。 在此方法中,主机组织发布一组服务,开发人员可以使用这些服务来运行其代码。 开发人员无需关注支持的硬件、操作系统、基础软件和其他基础结构。 相反,代码在请求触发的无状态计算资源中运行。 成本只在服务执行时产生,因此你不必为很少使用的服务支付太多费用。

Azure Functions

Azure Functions 是在 Azure 中支持无服务器体系结构的一种服务。 你可以编写函数,而无需担心是否支持采用许多不同语言(包括 C#、Java、JavaScript、PowerShell 和 Python)的基础结构。 也可以使用 NuGet 和 Node Package Manager (npm) 中的库,并使用提供程序(如 Active Directory、Facebook、Google 和 Microsoft Account)中的 OAuth 标准对用户进行身份验证。

编写函数时,根据要如何触发代码,选择要使用的模板。 例如,如果想要执行函数以响应 HTTP 请求,请使用 HTTPTrigger 模板。 当队列、Blob 存储容器或预定义的计划中有新消息时,可以使用其他模板执行。

使用消耗计划中的 Azure Functions 时,只需在代码运行时付费。

Azure API 管理

Azure API Management 是一种完全托管的云服务,可用于发布、保护、转换、维护和监视 API。 它有助于组织将 API 发布给外部、合作伙伴和内部开发人员,以充分发挥其数据和服务的潜力。 API 管理处理调解 API 调用所涉及的所有任务。 包括请求身份验证和授权、速率限制和配额强制、请求和响应转换、日志记录和跟踪,以及 API 版本管理。 使用 API Management,可以为在任何位置托管的现有后端服务创建和管理新式 API 网关。

由于可以通过 API Management 发布 Azure 函数,因此可以使用它们来实现微服务体系结构;每个函数都实现一个微服务。 通过向一个 API Management 产品添加多个函数,可以将这些微服务生成为集成的分散式应用程序。 构建应用程序后,你可以使用 API 管理策略来实现缓存或确保安全要求。

API Management 消耗层

选择 API 管理的使用情况计划时,可以选择消耗层。 消耗层特别适用于基于微服务的体系结构和事件驱动的系统。 例如,对于我们的在线商店 Web API,这是一个很好的选择。

消耗层使用与之前的层相同的基础服务组件,不同之处在于使用基于共享的动态分配资源的完全不同的体系结构。 消耗层与无服务器计算模型完全一致。 没有可管理的基础结构,也没有空闲容量。 它提供高可用性、自动缩放和基于使用情况的定价。 所有这些都使消耗层成为涉及将无服务器资源公开为 API 的解决方案的一个特别好的选择。

接下来,我们将创建一个 API 管理实例,并向其添加一个函数。