SuperAPI AI 工具集

azure-functions-sql-bindings

数据与分析

查看项目

更新于 10-16 06:47

技能介绍

用途:把 Azure Functions 接到 Azure SQL Database,使用 SQL 输入绑定、输出绑定和 SQL 触发器。绑定较直接,触发器有前置条件,缺失时应用仍显示健康但触发器不工作。

主要能力:输入绑定执行查询或存储过程并把行交给函数,参数以 @Id={Query.id} 形式绑定而非拼接;输出绑定接收对象或集合并按主键执行 MERGE 式 upsert,因此重复主键是更新而非插入,且需要目标表的 SELECT 权限。触发器基于 SQL 变更跟踪,接收按行批处理的变更(Insert、Update、Delete),同一行两次轮询间的多次写入只呈现最终差异。

必要用法:先启用变更跟踪,需两条语句,数据库级与表级分开,表必须有主键。触发器身份除 db_datareader、db_datawriter 外还需 CREATE TABLE、CREATE SCHEMA、VIEW CHANGE TRACKING 及 az_func 架构权限。连接用 connectionStringSetting 指向应用设置,值可写 Authentication=Active Directory Default 以本地用开发凭据、Azure 用托管标识。host.json 的 extensions.Sql 可调 MaxBatchSize、PollingIntervalMs、MaxChangesPerWorker。

限制:NTEXT、TEXT、IMAGE 列不支持 upsert;绑定异常会终止函数;批处理失败 60 秒后重试,连续失败五次的行被忽略;func new 无法创建 SQL 模板,需手写特性;非 C# 语言需查 references/bindings-by-language.md。具体版本、错误号与云上行为以官方文档为准。