Azure Static Web Apps结合Data API Builder配置数据库连接报错求助
问题解决步骤
一、修复Database Connection配置文件问题
- 保留唯一正确的配置文件:删除
dab-config.json和SWA-4.database.config.json,只保留staticwebapp.database.config.json在仓库根目录。Azure Static Web Apps的Database Connection预览功能仅识别这个固定文件名。 - 移除硬编码敏感信息:将配置文件里的
connection-string值替换为环境变量引用,避免泄露数据库凭证:
随后在Azure门户的SWA资源「配置」→「应用程序设置」中添加"connection-string": "${env:AZURE_SQL_CONNECTION_STRING}"AZURE_SQL_CONNECTION_STRING,值为你的SQL Server连接字符串。 - 补全
entities配置:确保entities节点完整定义需要暴露的数据库表/视图,示例如下:"entities": { "YourTable": { "source": "dbo.YourTable", "permissions": [ { "role": "anonymous", "actions": ["read"] } ] } }
二、修复GitHub Actions工作流报错
- 核对
app_name:打开.github/workflows下的SWA工作流文件,确认app_name与Azure门户里的Static Web Apps资源名称完全一致(区分大小写)。 - 验证API密钥:
- 在Azure门户的SWA资源「概述」→「管理部署令牌」中复制部署密钥。
- 打开GitHub仓库「Settings」→「Secrets and variables」→「Actions」,确认
AZURE_STATIC_WEB_APPS_API_KEY_XXX这个Secret的值与复制的部署令牌一致。 - 确保工作流里的API密钥引用格式正确:
${{ secrets.AZURE_STATIC_WEB_APPS_API_KEY_XXX }}。
- 重新触发工作流:在GitHub Actions页面找到报错的工作流,点击「Re-run jobs」重新执行。
三、前端测试注意事项
- API路径验证:REST接口路径为
/api/[实体名](例如GET /api/YourTable);GraphQL接口路径为/graphql。 - CORS配置调整:若前端在本地测试,将
cors.origins改为对应本地服务端口(如["http://localhost:5500"]),或临时用["*"]测试(生产环境禁止使用)。
内容的提问来源于stack exchange,提问作者adam
相关产品推荐
相关产品推荐

