使用 Visual Studio 进行 Azure 开发
如果使用云服务来处理许多需要实现的问题,则应用程序开发可能更容易。 使用 Azure 云中托管的云服务时,可以使用由Microsoft管理的可靠且高度可用的云环境来处理许多应用和服务所需的大部分基础结构,以便你可以将开发工作集中在应用程序特有的方面。
本文介绍了 Visual Studio 如何帮助进行 Azure 开发,无论是启动和运行网站、连接到存储、数据库、机密管理,还是使用增加缓存等价值的服务。
许多 Visual Studio 订阅都包括用于个人开发/测试的 Azure 额度 。 如果你是 Visual Studio 订阅者,可以使用这些额度来试用各种 Azure 服务,不收费。 如果你不是订阅者,并且没有 Azure 订阅,则可以 创建免费帐户。
可以在 Azure 中托管 Web 应用并动态横向扩展,以便为大量并发用户提供服务,而不是重载有限的基础结构。 在 Azure 中托管使你能够利用 Azure 平台提供的丰富服务生态系统。 可以使用丰富的服务(例如应用服务)或容器化应用 Azure 容器应用更轻松地管理应用。
对于本地应用,可以附加到 Azure 以获取某些特定 Azure 服务的优势,例如 Blob 存储、托管在 Azure 中的数据库、通过 App Insights 进行监视、标识管理等。
Visual Studio 具有许多功能,可以更轻松地开发连接到 Azure 服务的应用程序,或者自行部署到 Azure 并在 Azure 云中托管的应用程序。 Visual Studio 提供了一些机制,使在初始开发阶段更轻松地连接到服务,以及轻松将应用程序发布到 Azure,还可以在本地计算机上通过 Visual Studio 调试器连接到 Azure 应用程序,使云应用程序的调试体验与本地调试一样轻松。
支持的技术和语言
使用 Visual Studio,可以开发在 Azure 云中运行的应用,以及从本地、桌面和移动应用连接到 Azure 服务。 Visual Studio 是 Windows 开发人员将 .NET 和 ASP.NET 应用程序连接到 Azure 服务的最全功能且完整的环境。 Visual Studio 还支持在其他技术堆栈(如 Node.js 和 Python)中开发,这些堆栈可用于创建可以使用 Azure CLI 部署到 Azure 的网站和 Web 应用程序。
C++开发人员可以使用C++客户端库访问 Azure 存储等 Azure 服务,使用 C 和 C++ 的 IoT 设备开发人员可以将设备和服务连接到 Azure。 请参阅 Visual C++ 中的云和 Web 编程。
Visual Studio 中支持许多以前版本的 Azure 云服务的用户可以使用 Azure 云服务(扩展支持)继续在 Visual Studio 中使用这些服务。
连接到 Azure 服务
如果要在应用程序中使用 Azure 服务,通常需要对项目进行多次更改,例如包引用、代码更改和配置更改,以及 Azure 中的许多更改来指定要连接到的服务,或者创建它们(如果尚不存在)。 Visual Studio 根据提供的信息,在项目和 Azure 中做出这些更改有助于简化此过程。 Visual Studio 还提供所有更改的列表,以便检查这些更改并充分了解更改的内容。
Visual Studio Connected Services 是可用于将项目(Web 和本地)连接到 Azure 服务的分步向导的名称。 阅读有关可从 Visual Studio 连接到和管理的 Azure 服务的详细信息,请参阅 关于 Visual Studio 连接服务。
在浏览连接服务向导时,可以直接从 Visual Studio IDE 执行所有必需的 Azure 操作。 可以预配 Azure 中的资源、创建资源组、浏览和查看 Azure 资源以及部署应用程序和服务,而不是使用 Azure 门户。 项目连接到 Azure 服务或部署后,连接服务 选项卡会显示有关资源的信息,并包含指向部署的便捷链接。 请参阅 在 Visual Studio中使用 Azure。
将应用程序部署到 Azure 云
使用 Visual Studio,可以按需将应用程序部署到 Azure,只需单击一个按钮即可。 在开发和测试阶段,CI/CD 可能尚未配置,此时这种便利性尤为突出。 CI/CD(持续集成和持续交付(CI/CD)是一个系统,开发团队对应用程序代码进行的本地更改会自动集成到 Azure 中运行的已部署应用程序,而不会中断部署的服务。 可以使用 Azure Pipelines 或 GitHub Actions 来设置此设置。
你要部署什么?
部署目标 | 文档 |
---|---|
Azure 应用服务 (.NET Core) | 部署 ASP.NET Core Web 应用 |
Azure 应用服务 (.NET Framework) | 部署 ASP.NET Web 应用(.NET Framework) |
Azure 容器应用 | 使用 Visual Studio 部署到 Azure 容器应用 |
Azure Functions | 使用 Visual Studio 在 Azure 中创建第一个 C# 函数 |
Azure 容器注册表 | 使用 Visual Studio 将 ASP.NET 容器部署到容器注册表 |
如果需要首次为 GitHub 存储库配置 CI/CD 的帮助,Visual Studio 可帮助你开始使用 GitHub Action 初学者工作流。 有关详细信息,请参阅 使用 Visual Studio创建的 GitHub Actions 工作流将应用程序部署到 Azure。 了解有关设置 CI/CD 并部署到 Azure 的更多信息,详见 持续部署到 Azure 应用服务。
.NET Aspire
.NET Aspire 提供基础结构,用于协调可观测的基于云的应用的服务和组件。 可观测应用是在执行期间设置为进行实时全面监视的应用。 .NET Aspire 在开发期间特别相关,作为组织和协调多个服务、数据库和其他依赖项的手段。
Visual Studio 17.9 及更高版本(已安装 ASP.NET 和 Web 开发 和 Azure 开发 工作负载)包括 .NET Aspire SDK,并为 .NET Aspire 提供 项目 模板。
ASP.NET Core 项目包括一个在项目创建时在 Aspire 业务流程中登记的选项,以及一个解决方案资源管理器中的上下文菜单项(“添加”>“NET Aspire 业务流程协调程序支持”),可使用该菜单项在 Aspire 业务流程中登记项目。 这些操作会将 Aspire 编排项目(AppHost 和 ServiceDefaults)添加到解决方案中(除非项目已经存在)。 在 Visual Studio 17.13 及更高版本中,Azure Functions 项目也支持此功能。 有关详细信息,请参阅 .NET Aspire 工具。
使用 Visual Studio 在 Azure 中调试
可以在 Azure 中运行时使用 Visual Studio 调试应用程序,以便在尽可能接近生产环境的环境中识别和重现问题。 有关 Azure 应用服务中托管的 Web 应用,请参阅 Azure 应用服务上的远程调试 ASP.NET Core。 有关 Azure Functions,请参阅 使用 Visual Studio 开发 Azure Functions - 远程调试。
如果使用虚拟机(VM)托管 ASP.NET 核心 Web 应用,请参阅 使用 Visual Studio中的 Azure VM 远程调试 ASP.NET Core on Internet Information Services (IIS)。
使用集成的 Azure 功能
在 Azure 云中运行时,应用可以从 Azure 标准中受益以实现高可用性,纵向扩展 和 横向扩展 功能、监视、负载测试和其他优势。 Visual Studio 与 Azure 功能集成,例如 远程调试、查看日志等。
通过本地仿真支持节省资金
在开发阶段,可以使用 Azure 服务的本地模拟器进行试验和开发,以便方便和节省成本,并稍后部署到 Azure。 请参阅本地和连接的配置了解详细信息。
Docker 支持
还可以使用 Docker 来容器化应用和服务。 使用 Docker 容器可为正在运行的应用程序提供一致且可重现的作系统和环境。 Visual Studio 可在调试容器时提供同样熟悉的体验,有助于在本地监视和管理容器的生命周期,并且可以将容器部署到容器注册表。
容器化应用后,可以使用 Azure 应用服务 或 Azure 容器应用等服务轻松地将容器部署到 Azure。
将应用连接到 Azure 存储和数据库服务
使用 Azure 存储可以更轻松地管理文件和数据,Azure 存储是一种高度可用、可大规模缩放、持久且安全的存储,适用于云中各种数据对象。 可以使用 Azure 存储来存储所有内容,并使它可用于网站、桌面应用或移动应用。
Azure 还提供许多适合不同需求的不同数据服务,从云托管的 SQL 数据库,用于轻松地从本地 SQL Server 过渡到可扩展到最大要求的大数据解决方案。
连接到 Azure 存储
- 存储和检索 Blob
- 管理文件
- 使用队列实现消息传送
- 管理结构化 NoSQL 数据
在 Azure 存储了解详细信息,并了解如何使用 Visual Studio 连接 Azure 存储。
连接到数据库
连接到 Azure SQL 数据库 和其他 Azure 数据库服务(如 Azure Cosmos DB),就像连接到本地 SQL Server一样简单。 有关详细信息,请参阅 数据库和数据提供程序。
连接到网络和数据服务
数据提供程序通过标准协议(如开放数据协议(OData)和 gRPC 提供服务。 可以连接到这些服务,或者自己创建 Web 服务时,可以选择 ASP.NET Web API、Azure Functions 或 Azure API 管理,并添加这些连接。 有关受支持的服务和协议的列表以及如何连接到它们,请参阅 将应用连接到 gRPC、OpenAPI 和 WCF 终结点。
ASP.NET Web 应用程序
请参阅我们的 概述,了解如何在 Visual Studio 中开发适用于 Azure 的 ASP.NET Web 应用程序。
其他 Web 应用程序技术
使用 JavaScript 和 Python 的开发人员可以使用 Visual Studio 或 Visual Studio Code 进行 Azure 开发。 使用任一开发环境,安装 Azure CLI,并按照 Azure CLI 文档中的教程进行操作,查找每个 Azure 服务文档中的快速入门和教程,以便帮助您手动添加连接代码。
Node.js 为使用服务器端 JavaScript 进行 Web 应用程序开发提供了另一个选项。 了解更多信息 什么是适用于 JavaScript 开发人员的 Azure 开始使用 在 Azure 中部署 Node.js Web 应用。
Python 是一种越来越受欢迎的语言,使用 Web 框架 Django 和 Flask 时,它是开发 Web 应用程序的另一种方式。 请参阅 在 Azure上的 Python 入门。
建议的 Azure 服务
本部分可帮助你了解哪些 Azure 服务可能很有用。 首先完成这些快速入门,演示如何使用 Visual Studio 作为开发工具开始使用每个服务。 这些链接将介绍每个 Azure 服务的文档,从面向 Visual Studio 用户的页面开始(如果可用)。
如果不确定 Azure 服务最适合你的需求,请尝试 Azure 应用服务。
触发器是设置为在发生某些条件时运行代码的事件。 它们可以根据计时器进行计划,也可以设置为响应队列中的消息、其他 Azure 服务中的事件或 Web 挂钩。 如果需要触发器,请尝试 Azure Functions。
如果需要简单的容器,请尝试 Azure 容器应用。
如果需要高级容器,请尝试 Azure Kubernetes 服务。
若要在 API 的基础上添加控制,请尝试 Azure API 管理。
若要支持多个长客户端连接,请尝试 Azure SignalR 服务。
如果要开发复杂的分布式应用并需要在多个服务之间协调,请尝试 .NET Aspire。
后续步骤
参阅 Azure 服务,详细了解你可能感兴趣的 Azure 服务。
相关内容
在 Azure 架构中心获取 Azure 开发的架构建议。
有关旧版 Azure 云服务的工作,请参阅 Azure 云服务 - 扩展支持。