AzureSQLDB-发送表更新以调用函数

时间:2017-07-19 07:31:44

标签: azure azure-sql-database azure-functions azure-queues

我正在研究Azure SQLDB-并且想法是将消息发送到将与客户端连接的signalR集线器。流量将很低(最多每天大约1000-2000条消息,并且1-2秒延迟很好)

我们不是定期轮询,而是仅在有更新时使用Azure功能来提取数据。我理解AzureDB具有功能限制,并且由于缺乏CLR支持,触发器无法直接调用Azure功能

Azure SQL Database trigger to insert audit info into Azure Table

最佳选择是什么

  • 我应该填充一个队列 - 它作为函数的触发器吗?同样,我如何填充此队列?
  • 我可以使用服务总线 - 但更愿意保持简单

感谢任何指示和指导

1 个答案:

答案 0 :(得分:2)

所以,我想你有一些东西,让我们称之为Client,它会更新SQL数据库中的数据:

-> Database Client

所以,你有两个选择:

  1. 更改Client -> Database -> Queue -> Function -> SignalR 以在每次更新数据库时也插入一个队列项。然后您的功能将由队列项触发,并将发送通知。

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

    {{1}}

    听起来你现在已经从客户那里投票了,所以它可能不会变得更糟。但1-2s目标延迟意味着每秒轮询,这可能是昂贵的,具体取决于查询。