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

那么,你大致有两个选择:

  1. 更改 Client 以在每次更新数据库时也插入一个队列项。然后你的函数将被队列项触发,并发送通知。

    Client -> Database
           -> Queue -> Function -> SignalR
    
  2. 让您的函数定期轮询数据库并自行检测更新(计时器触发器)。

    Client -> Database <- (pulls) Function -> SignalR
    

    听起来您目前已经从客户那里进行了投票,所以情况可能不会变得更糟。但是 1-2 秒的目标延迟将意味着每秒轮询一次,这可能会很昂贵,具体取决于查询。