You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在本地部署并运行Data API Builder(DAB)服务?

在Windows Server 2022 + IIS 10.0环境部署Data API Builder(DAB)正式服务

前提准备

  • 安装与DAB依赖匹配的.NET Core Hosting Bundle(如.NET 6/7),确保IIS具备托管.NET Core应用的能力
  • 确认SQL Server 2022正常运行,部署机器可访问目标数据库

步骤1:生成DAB正式发布包

  1. 打开命令行,进入DAB项目所在目录
  2. 执行发布命令生成正式环境包:
    dotnet publish -c Release -o "C:\DAB-Production" --self-contained false
    
    • -c Release:编译正式环境版本
    • -o:指定发布文件输出路径,可按需修改
    • --self-contained false:依赖机器已安装的.NET运行时,减小包体积

步骤2:配置IIS应用程序池

  1. 打开IIS管理器,右键应用程序池添加应用程序池
  2. 配置参数:
    • 名称:例如DAB-Prod-Pool
    • .NET CLR版本:选择DAB依赖的对应.NET版本(如.NET 6.0
    • 托管管道模式:集成
  3. 进入应用程序池高级设置:
    • 启动模式设为AlwaysRunning,避免闲置自动回收
    • 根据业务需求调整回收规则(如避开业务高峰时段)

步骤3:创建并配置IIS站点

  1. 右键网站添加网站
  2. 填写站点信息:
    • 网站名称:例如DAB-Service
    • 物理路径:选择步骤1生成的发布目录(C:\DAB-Production
    • 绑定:设置访问端口(如8080)、主机名(按需配置)
    • 应用程序池:选择步骤2创建的DAB-Prod-Pool
  3. 点击确定完成站点创建

步骤4:配置DAB正式环境参数

  1. 打开发布目录下的dab-config.json文件,修改核心配置:
    • 数据库连接字符串:指向本地SQL Server 2022,示例:
      "data-source": "Server=localhost;Database=YourTargetDB;Integrated Security=True;TrustServerCertificate=True"
      
    • REST API启用:确保rest节点处于启用状态,可按需设置路由前缀
    • CORS配置:添加允许跨域访问的前端域名(如有需要),示例:
      "cors": {
        "origins": ["https://your-frontend-domain.com"],
        "allow-credentials": true
      }
      
    • 认证授权:根据业务需求配置(如API Key认证),示例:
      "authentication": {
        "provider": "ApiKey",
        "api-key": "YourSecureApiKey123"
      }
      
  2. 保存配置文件

步骤5:验证部署效果

  1. 启动IIS站点,访问http://localhost:8080/health,返回{"status":"healthy"}则表示服务正常运行
  2. 测试REST API端点,例如访问已配置的实体路径http://localhost:8080/api/YourEntity,验证数据读写功能是否正常

额外注意事项

  • 权限配置:确保应用池运行身份(如ApplicationPoolIdentity或指定账号)拥有SQL Server数据库的访问权限,需在SQL Server中为该账号分配对应角色/权限
  • 日志配置:可在dab-config.json中开启日志便于排查问题,示例:
    "logging": {
      "level": "Information",
      "output": "Console"
    }
    
    同时可配置IIS站点日志,记录访问请求明细

内容的提问来源于stack exchange,提问作者kevmull

火山引擎 最新活动