SuperAPI AI 工具集

build-app-on-azure-sql

数据与分析

查看项目

更新于 10-16 00:31

技能介绍

这是一个路由型技能,不是教程:它规定工作的先后顺序,并把每个技术点交给对应的专门技能处理。

用途:在 Azure SQL Database 上从零搭建新应用时,避免一开始就进入写代码的错误路径。它强调先做应用之外的前置配置,再写应用代码。

主要能力: 一、Step 0 前置条件验证,两条只读命令检查防火墙规则与 Entra 管理员: az sql server firewall-rule list -g <resource-group> -s <server> -o table az sql server ad-admin list -g <resource-group> -s <server> -o table 再用一次命令行往返确认连接(不改动内容): az login sqlcmd -S <server>.database.windows.net,1433 -d <database> -G -N mandatory -l 30 -m-1 -Q "SELECT SUSER_NAME() AS connected_as, DB_NAME() AS db" 二、区分两种 sqlcmd:ODBC 版(18.x,mssql-tools18 等)与 go-sqlcmd(1.x,winget/brew 安装)。-m-1 只在 ODBC 版让严重级别 10 的消息打印 Msg 编号;go-sqlcmd 1.10.0 在 -m-1、-m0、-m1 下均不打印,且两者都不会把级别 10 变成非零退出码。 三、防火墙规则实测:文档称安全设置变更最长延迟五分钟,实测(2026-09-05,Basic 层 eastus2,三组双向试验)规则删除与创建均在约一秒内生效,属测不准的下限,不应等待五分钟。连接被拒时先核对客户端地址(NAT 常导致服务器看到的地址不同)。0.0.0.0 到 0.0.0.0 是 Azure 内部流量特例,不是公网通配符。 四、四项决策与去向:开发目标库(provision-azure-sql-db);认证方式(entra-id-auth,无密码且连接串不含用户名密码,各驱动写法不同不要凭记忆写);数据层由谁写(dab-rest-and-graphql、azure-functions-sql-bindings、各 ORM 技能或直连驱动,参数化由 prevent-sql-injection 负责);架构如何上库(schema-migrations-safely,迁移应独立执行,不在应用启动时建表)。 五、部署与校验:deploy-app-to-azure 负责部署;托管标识授权三条命令可用一条完成,需先 az extension add --name serviceconnector-passwordless --upgrade,再执行 az webapp connection create sql 并指定 --client-type。该命令会设置 Entra 管理员、开临时防火墙规则并写入 AZURE_SQL_CONNECTIONSTRING。随后应检查授权范围并收窄过宽权限。

限制:仅覆盖已列出的技能路由与实测结论;收费、价格、平台支持范围等未提供。示例代码中的启动建表仅用于测试,生产应由迁移完成。