调试 Azure 函数

一、简介

本文档为希望快速掌握 Microsoft 客户端 Blazor WebAssembly(WASM) 技术的开发人员提供了概述。

1.1.目的

为开发人员提供路线图,以便在开发 Client Blazor (WASM) 项目时快速跟上进度。涵盖相关主题,例如在本地调试客户端和服务器代码、部署到本地 IIS 和远程 Azure 服务器、演示依赖注入、共享 C# 类、CORS、日志记录、AD 安全、本地化、SignalR、实体框架和 API (CRUD) 调用.

1.2. 范围

本文档的范围是传达在现代软件环境中设计和部署 Client Blazor (WASM) 应用程序所需的架构和技术。

2.先决条件

3. 演示目标

对于这个演示,我们将:

  • 在 Visual Studio 中创建Http Trigger Azure Function 项目
  • 它将查询我们的(Azure)数据库并返回结果列表
  • 本地调试
  • 部署到 Azure
  • 针对 Azure 进行测试 – Postman
  • 针对 Azure 进行调试 – Visual Studio

4. Azure 功能说明

Azure 函数是执行单个任务的单个端点,因此它遵循 SOLID 主体中的“S”。Http 触发器更适用于 B2B(来自其他应用程序的 Web 挂钩)。完成任务后,它会将其结果传递给下一个 Azure 函数,直到该过程完成并将最终结果返回给调用者。

您可以使用 Azure Function 设计微服务架构,方法是使用一组函数,每个函数执行一个任务,但共同执行一个流程。这使您能够仅扩展部分微服务。

Azure Functions 基于触发器,这意味着必须在 Azure Function 执行之前发生事件(例如,数据库条目、API 调用或插入 Azure Blob 存储的文件)。Visual Studio 具有开箱即用的默认 Azure 函数触发器,但它也有一个备用空触发器,您可以根据需要对其进行自定义。因此,可以说 Azure Functions 遵循 Event\Observable 设计模式。

Azure Functions 遵循无服务器架构模式,但由于它们是 API,它们将遵循 REST 架构风格。但是因为它们是无服务器的,它们可以按需运行,而无需在服务器上托管和管理基础设施。如果你已经有 Azure 计划,它们是免费的。在示例 Azure Function 中,我将演示,我基本上使用微服务Database Per Service模式,因为我的服务处理自己的数据库(偶然😊)。

5. 创建您的 Azure Function 项目

在 Visual Studio 中,创建一个新项目(File → New → Project):

从可用的项目模板中选择Azure Functions并输入项目名称:

选择Http Trigger应用程序模板,保留 Storage Account & Authorization Level 默认值:

这将创建默认的 Azure Function 项目(我将默认的 Function 类重命名为LatestAlbums.cs):

只需注意身份验证级别(在本地调试时,您不需要 API 密钥)。此 API 密钥附加到 URL 或其正文中:

功能需要特定功能的 API 密钥。
这是未专门设置级别时的默认值。
匿名的任何人都可以调用该函数
行政您需要主密钥才能运行此功能

6. Azure Function Code 解释

默认的 HTTP 动词是GetPost(红色框),您可以删除或替换它们以满足您的要求。如果是Get请求,您可以正常从 URL 获取数据(蓝色框),或者如果您在请求正文中发布数据,您可以使用StreamReader(橙色框)检索该数据。在粉色框中,我正在dbContext调用 SQL Server 数据库并将数据返回给客户端(json 格式)。

6.1。其他项目

我已经更改了解决方案的结构以包含多个项目、一个保存DBContext相关对象的项目和一个模型项目。这些项目已被分离出来,以便可以在多个 Azure Functions 之间共享代码。

6.2. 依赖注入 DBContext

要包括依赖注入和实体框架,需要对默认代码进行一些调整。

将连接字符串添加到 Azure Function 项目中的local.settings.json文件。

Startup.cs文件添加到您的项目中,在这里我们将添加依赖项,检索连接字符串并构建实体框架DBContext

将 注入dbContext到 Azure Function 的构造函数中(您需要添加构造函数),并照常分配给您的private类属性。

7. 函数调用结果

如果您在本地(在 Visual Studio 中)运行项目,您将在控制台窗口中看到要针对您的环境使用的 URL。

将标题参数附加到 URL:

http://localhost:7071/api/LatestAlbums?title=Disc%201

这将返回以下结果:

8. 部署到 Azure

注意:您需要拥有(免费)Azure 帐户(订阅)才能完成此部分。

右键单击 Azure Function,选择Publish,单击Azure,然后单击Next

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值