SuperAPI AI 工具集

azuresql-db-functions

数据与分析

查看项目

更新于 10-16 00:31

技能介绍

用途:在本地 Azure SQL Database 容器(Private Preview)之上,用 Azure Functions 和官方 Azure SQL 绑定构建无服务器 API 与事件驱动处理程序。支持两类能力:HTTP 触发的函数配合 SQL 输入/输出绑定(读取与 upsert,无需 ADO.NET 样板代码);SQL 触发器绑定在行插入/更新/删除时触发函数,基于 Change Tracking,完全本地运行,不需要云服务。

环境前提:镜像是 sqldbpreview-dpgaeqhmgphzd4bk.azurecr.io/azure-sql/db-dev:latest(x64、linux/amd64),属于 Azure SQL Database 引擎(EngineEdition=5),不是 mcr.microsoft.com/mssql/server 的 SQL Server 镜像。注册表为私有,需先用 docker login 登录(凭证见 https://aka.ms/sqldbcontainerpreview-signup,可能轮换)。必需环境变量 ACCEPT_EULA=Y 和复杂 MSSQL_SA_PASSWORD,引擎监听 1433。容器不自动建库,需先在 master 连接执行 CREATE DATABASE appdb。非 x64 主机加 --platform linux/amd64。

主要用法:(1)在 local.settings.json 配置 SqlConnectionString 连接串,需含 Database=appdb 和 TrustServerCertificate=true;绑定通过 ConnectionStringSetting / connectionStringSetting / connection_string_setting 引用它,不能使用 Connection 关键字。(2)安装 SQL 扩展:.NET isolated 用 dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql;其他运行时可使用 host.json 的 extensionBundle。(3)HTTP API:用 func init 和 func new 创建项目与 HTTP 触发函数,再接入 SQL 输入/输出绑定,func start 启动(默认 http://localhost:7071/api/<name>)。(4)事件驱动:用 SQL 触发器。需在 appdb 和表上启用 Change Tracking。注意工具链虽列出 SQL 触发器模板,但 func new --template SqlTrigger 会报 Unknown template 'SqlTrigger',应改用 HTTP 模板脚手架后手写触发器绑定。触发器会自建 az_func schema 和 Leases 表。Change Event Streaming(CES)仅限云端,本地引擎不支持,本地请用 SQL 触发器。

限制:输出绑定要求目标表有主键、数据库兼容级别 130+;未提供收费、价格等其它信息。