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

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

我正在开发 Azure SQLDB,想法是将消息发送到 signalR hub,该 hub 将与客户端连接。流量较低(每天最多 1000-2000 条消息,1-2 秒延迟即可)

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

Azure SQL Database trigger to insert audit info into Azure Table

最好的选择是什么

  • 我应该填充一个队列 - 作为函数的触发器吗?再说一次,我如何填充这个队列?
  • 我可以使用服务总线 - 但希望保持简单

感谢任何指示和指导

最佳答案

所以,我猜你有一些东西,我们称之为客户端,它更新 SQL 数据库中的数据:

客户端 -> 数据库

因此,您大致有两个选择:

  1. 更改客户端,以便在每次更新数据库时也插入一个队列项目。然后您的函数将由队列项目触发,并发送通知。

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

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

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

关于AzureSQLDB-发送表更新以调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45183782/

相关文章:

azure - Cosmos 插入不会有效并行化

java - 如何使用 Log4j 将自定义属性记录到 AppInsight?

python - Azure Function Python 模块兼容性问题

azure - Azure 上的导出数据库保持锁定

sql - 如何在azure中定期运行sql查询?

azure-functions - Azure 函数队列触发器 - 如果失败,如何将项目放回到队列中?

azure - 如何通过 Http 公开 DocumentDB 附件?

c# - 在 Azure-Sql 数据库上运行到 "Master"的连接

azure - Azure Function App 中的路由或多个函数

Azure Function 可选查询参数