什么是适用于Azure SQL 数据库的开发容器模板?

适用于:Azure SQL 数据库

开发容器提供了一个全面的解决方案,用于增强Azure SQL 数据库的本地开发。 开发容器模板为开发人员提供了无缝高效的开发环境,使开发人员能够轻松、自信地构建Azure SQL 数据库的应用程序。

开发容器可以在任何开发环境中使用,无论是本地还是云中,都可以促进团队和工作流的一致性。

显示 Azure SQL 数据库使用开发容器进行本地开发体验的示意图。

用于Azure SQL 数据库的开发容器模板通过提供预配置的环境来简化开发过程,无需手动设置。 开发人员可以使用常用的编程语言,使用所有必要的工具和依赖项立即开始编码。 这些模板与 Visual Studio CodeGitHub Codespaces 兼容,可实现从本地开发到云环境的无缝转换。

本地开发环境模拟Azure SQL 数据库,使你能够高效地管理数据和测试应用程序。 准备就绪后,GitHub Actions自动执行部署过程,将应用程序无缝转换为Azure Web 应用服务和Azure SQL 数据库。 这种简化的工作流可提高工作效率,缩短设置时间,并确保本地环境和生产环境之间的一致性,从而更快地交付高质量的应用程序。

Tip

devcontainers/ci 中提供了一个GitHub操作,用于在持续集成 (CI) 版本中运行存储库的开发容器。 这样,就可以重复使用用于本地开发的相同设置,以便在 CI 中生成和测试代码。

开发容器的工作原理

无论使用哪种环境,开发容器都是预配置的容器化环境,旨在提供一致的开发体验。 它们利用开发容器规范(devcontainer.json)为开发环境定义必要的工具、设置和配置。

重要组件

  • Docker:提供基础容器技术来创建隔离环境。
  • VS Code:充当与开发容器交互的集成开发环境(IDE)。
  • GitHub Codespaces:将开发容器扩展到云,从而允许使用浏览器从任何设备进行开发。

入门步骤

  • 初始化:开发人员从包含所有必要配置的开发容器模板开始。
  • 环境设置:容器是使用 Docker 生成的,基于 devcontainer.json 规范设置环境。
  • 编码和测试:开发人员在此一致的环境中编写和测试代码,确保与最终生产设置的兼容性。
  • 部署:开发和测试完成后,可以使用 CI/CD 管道(如GitHub Actions)无缝部署应用程序。

Azure SQL 数据库 与开发容器

开发容器通过解决常见挑战和增强整体工作流,有利于Azure SQL 数据库开发。 由于开发人员在为Azure SQL 数据库设置高效的本地开发环境时面临重大挑战:

  • 缺乏兼容性:本地开发和生产环境之间的差异。
  • 设置复杂性:耗时的手动安装和配置。
  • 依赖于云资源:增加云成本和依赖 Internet 连接。
  • 有限的集成:缺少与现有Azure开发工具的集成。

用于Azure SQL 数据库的专用开发容器模板可帮助你弥合这一差距,增强开发体验并简化Azure生态系统中的工作流。

用于Azure SQL 数据库的开发容器的优点

开发容器简化了开发生命周期,使开发人员能够专注于编码和测试,而无需环境设置。 这种效率导致更快的迭代、更高质量的应用程序,并缩短了基于Azure SQL 数据库构建的应用程序的上市时间,使企业具有竞争优势。

使用开发容器进行本地开发可降低与Azure环境中开发和测试相关的云成本。 这种资源的优化可提高成本效益和可伸缩性。 开发人员可以使用Azure SQL 数据库的可伸缩性和可靠性无缝地从本地开发过渡到Azure环境,而不会产生不必要的成本。

开发容器支持云原生开发方案,与新式应用程序体系结构和框架保持一致。 这可确保与Azure SQL 数据库兼容,并有助于无缝部署到Azure环境。 通过采用云原生趋势,我们将Azure SQL 数据库定位为现代云原生应用程序选择的平台,从而推动长期采用和收入增长。

若要充分了解开发容器对Azure SQL 数据库项目的影响,请考虑以下增强和简化开发过程的主要功能:

Visual Studio Code扩展程序

  • ms-mssql.mssql:用于连接和查询 SQL 数据库的SQL Server扩展。
  • ms-mssql.sql-database-projects:用于管理 SQL 数据库项目的扩展,允许简化的架构更改和部署。
  • github.copilot:由 AI 驱动的代码补全,提升效率。
  • ms-azuretools.vscode-docker:用于直接从Visual Studio Code管理容器的 Docker 扩展。
  • github.codespaces:用于处理 GitHub Codespaces 的扩展。
  • ms-azuretools.vscode-docker:用于管理容器的 Docker 扩展。

Tip

根据你选择的模板,有更多扩展可用。

预配置环境

以下所有工具和实用工具都预加载到开发容器中。 无需下载或安装任何其他内容。

  • .NET/ .NET Aspire / Node / Python:环境包括预安装并配置的首选编程语言/框架,可供开发。
  • Azure CLI:用于管理Azure资源和部署的工具。
  • Docker CLI:允许从另一个容器内部生成和管理 Docker 容器。
  • Azure SQL 数据库library数据库已创建并验证并可供使用。 此数据库提供与Azure SQL 数据库完全兼容性。
  • SQLCMD:可用于与数据库交互、运行查询等的命令行实用工具。
  • SqlPackage:用于部署数据库更改的命令行实用工具,包括架构更新和数据迁移。

Important

虽然该容器现在使用的是 mcr.microsoft.com/azure-sql-edge 映像,专为边缘计算场景设计,并提供 SQL Server 的部分功能以及内置 AI 功能,但此开发容器中的所有数据库开发仍可通过 SQL 数据库项目针对 Azure SQL 数据库进行验证。 SQL 数据库项目预配置目标平台设置为Azure SQL 数据库。

Visual Studio Code 任务

Visual Studio Code中的一组预定义任务,以简化常见操作:

  • 1.验证数据库架构和数据:打开并执行 SQL 文件以验证数据库架构。
  • 2.生成 SQL 数据库项目:使用 dotnet build.. 生成 SQL 数据库项目。
  • 3. 发布 SQL 数据库Project:将 SQL 数据库project发布到数据库容器。

Tip

有可用的特定任务,具体取决于你选择的模板。

可用模板

适用于Azure SQL 数据库的开发容器模板适用于以下编程语言/框架:

编程语言/框架 说明
.NET 用于.NET和Azure SQL的开发环境,可实现简化的本地开发和测试。
.NET Aspire 用于.NET Aspire和Azure SQL的开发环境,可实现简化的本地开发和测试。
Node.js Node.js(JavaScript)和Azure SQL的开发环境,可实现简化的本地开发和测试。
Python 用于Python和Azure SQL的开发环境,可实现简化的本地开发和测试。

Tip

每个模板都附带了预配置的Azure SQL 数据库,便于立即开始开发!