AzureSQLDB-发送 table 更新以调用函数
AzureSQLDB- Sending table update to invoke a function
我正在使用 Azure SQLDB,我的想法是向将与客户端连接的 signalR 中心发送消息。流量会很低(每天最多1000-2000条消息,1-2秒的延迟就可以了)
我们希望使用 Azure 函数仅在有更新时拉取数据,而不是定期轮询。我知道 AzureDB 有功能限制,并且由于缺少 CLR 支持,触发器无法直接调用 Azure 功能
Azure SQL Database trigger to insert audit info into Azure Table
最好的选择是什么
- 我应该填充一个队列 - 它充当函数的触发器吗?同样,如何填充此队列?
- 我可以使用服务总线 - 但希望保持简单
感谢任何指点和指导
所以,我猜你有一些东西,我们称之为 Client
,它更新 SQL 数据库中的数据:
Client
->
Database
那么,你大致有两个选择:
更改 Client
以在每次更新数据库时也插入一个队列项。然后你的函数将被队列项触发,并发送通知。
Client -> Database
-> Queue -> Function -> SignalR
让您的函数定期轮询数据库并自行检测更新(计时器触发器)。
Client -> Database <- (pulls) Function -> SignalR
听起来您目前已经从客户那里进行了投票,所以情况可能不会变得更糟。但是 1-2 秒的目标延迟将意味着每秒轮询一次,这可能会很昂贵,具体取决于查询。
我正在使用 Azure SQLDB,我的想法是向将与客户端连接的 signalR 中心发送消息。流量会很低(每天最多1000-2000条消息,1-2秒的延迟就可以了)
我们希望使用 Azure 函数仅在有更新时拉取数据,而不是定期轮询。我知道 AzureDB 有功能限制,并且由于缺少 CLR 支持,触发器无法直接调用 Azure 功能
Azure SQL Database trigger to insert audit info into Azure Table
最好的选择是什么
- 我应该填充一个队列 - 它充当函数的触发器吗?同样,如何填充此队列?
- 我可以使用服务总线 - 但希望保持简单
感谢任何指点和指导
所以,我猜你有一些东西,我们称之为 Client
,它更新 SQL 数据库中的数据:
Client
->
Database
那么,你大致有两个选择:
更改
Client
以在每次更新数据库时也插入一个队列项。然后你的函数将被队列项触发,并发送通知。Client -> Database -> Queue -> Function -> SignalR
让您的函数定期轮询数据库并自行检测更新(计时器触发器)。
Client -> Database <- (pulls) Function -> SignalR
听起来您目前已经从客户那里进行了投票,所以情况可能不会变得更糟。但是 1-2 秒的目标延迟将意味着每秒轮询一次,这可能会很昂贵,具体取决于查询。