在空封环境中部署数据 API 生成器

本指南介绍如何在无法访问 Internet 的环境中安装和运行数据 API 生成器(DAB)。 空隙部署在医疗保健、国防、金融、能源和海上环境中很常见,在这些环境中,出站网络连接受到限制或被禁止。

先决条件

  • 可访问互联网并用于下载软件包的计算机(“暂存机”)。
  • 具有受支持的操作系统的目标空隙计算机。
  • 在计算机之间传输文件的方法(USB 驱动器、批准的文件传输等)。

步骤 1:在暂存计算机上下载软件包

在具有 Internet 访问权限的计算机上,下载所有必需的包。

下载.NET运行时

.NET 下载页面下载目标操作系统的 .NET 9.0 ASP.NET Core 运行时二进制存档。 选择 ASP.NET Core Runtime 二进制存档(适用于 Linux 的 .tar.gz.zip for Windows),而不是安装程序或 SDK。

Important

DAB 需要 ASP.NET Core运行时,而不仅仅是基本.NET运行时。 下载 ASP.NET Core二进制存档,以便在不使用安装程序的情况下提取它。

.NET 9.0 下载页下载 ASP.NET Core Runtime .zip。 选择目标平台(x64)对应的 二进制文件 列。

下载数据 API 生成器包

使用 dotnet tool install 配合 --tool-path 将 DAB 及其所有依赖项下载到便携目录中:

dotnet tool install --tool-path ./dab-tool Microsoft.DataApiBuilder

此命令创建包含所有必需文件的自包含工具目录。

步骤 2:将文件传输到物理隔离计算机

将这些项目复制到目标计算机:

  • ASP.NET Core运行时二进制存档(.zip.tar.gz
  • dab-tool包含 DAB 工具和所有依赖项的目录

步骤 3:在隔离计算机上安装

安装.NET运行时

提取运行时二进制存档。 不需要安装程序或 Internet 访问。

Expand-Archive -Path "aspnetcore-runtime-9.0.x-win-x64.zip" -DestinationPath "C:\dotnet"
$env:DOTNET_ROOT = "C:\dotnet"
$env:PATH = "C:\dotnet;$env:PATH"

安装数据 API 生成器

来自暂存机器的 dab-tool 目录本身已是完整的。 将其添加到您的PATH

$env:PATH = "C:\path\to\dab-tool;$env:PATH"
dab --version

步骤 4:配置和运行

  1. 创建配置文件:

    dab init --database-type mssql --connection-string "Server=<server>;Database=<database>;User ID=<user>;Password=<password>;TrustServerCertificate=true"
    
  2. 添加实体:

    dab add <entity-name> --source <schema>.<table> --permissions "anonymous:*"
    
  3. 启动 DAB:

    dab start
    

验证安装

通过检查 REST API 终结点来验证 DAB 是否正在运行:

curl http://localhost:5000/api/<entity-name>

在验证 MCP 服务器时,请确认运行状况终结点是否有响应:

curl http://localhost:5000/health

Tip

若要测试 MCP 工具调用,请使用 MCP 检查器 或处理完整 MCP 协议初始化握手的 MCP 客户端库。

网络和防火墙注意事项

  • 默认情况下,DAB 在端口 5000 上侦听。 如有需要,可使用 ASPNETCORE_URLS 进行调整。
  • 如果使用 CORS,请在 dab-config.json 中配置允许的源。
  • 运行时不需要出站 Internet 访问。 DAB 完全基于本地数据库或可通过网络访问的数据库运行。