【问题标题】:Alternative to trigger Azure Functions or AppService based on a table row insert into Azure SQL MI基于表行插入 Azure SQL MI 来触发 Azure Functions 或 AppService 的替代方法
【发布时间】:2020-11-20 18:17:49
【问题描述】:

是否可以在对 Azure SQL MI 上的表执行插入操作时触发 Azure Functions 或 AppService webapp?

如果没有,有没有办法在 Azure SQL 之外触发应用程序而不是使用 LogicApp?我想避免使用 LogicApp,因为它需要使用另外一个应用程序,并且仍在使用轮询。

下面的链接说它不适用于 Azure 功能

https://feedback.azure.com/forums/355860-azure-functions/suggestions/16711846-sql-azure-trigger-support

下面的链接建议使用 LogicApp。

Trigger Azure Function by inserting (adding) new row into table, SQL Server Database

【问题讨论】:

    标签: azure azure-functions azure-web-app-service azure-sql-database


    【解决方案1】:

    今天,在 Azure SQL 中,没有这种可能性。最接近的选项是创建一个计时器触发器 Azure 函数,该函数检查您要监视的表中是否有任何更改(例如,使用更改跟踪)。

    如果您改用 Azure SQL MI,则可以创建一个 SQLCLR 过程,该过程通过 HTTP 请求或另一种选择,通过 Azure 事件中心或 Azure 事件网格调用 Azure 函数

    【讨论】:

    • 使用了 Azure SQL 托管实例。但是可能没有使用 SQLCLR。功能上的定时器触发似乎很容易实现。您能否详细说明 Azure 事件中心/网格?任何链接将不胜感激。
    • 看这里:github.com/MadeiraData/ClrHttpRequest。它将在 SQL MI 上运行。事件中心和事件网格支持 HTTP 终结点,因此您可以调用它。或者,您也可以根据需要调用 Azure 函数。只需确保 SQL MI 网络配置允许您连接到公共互联网端点。
    • 是否需要 ClrHttpRequest 才能调用 Azure 事件中心/网格?我不知道如何使用这个工具。如果可能,我更喜欢 Microsoft 的工具?
    • 微软没有工具可以做到这一点。 ClrHttpRequest 只是展示了如何使用 .NET 创建自己的解决方案。您可以使用可用的代码来获得灵感并自己做一些事情,这样您就可以 100% 信任它。
    【解决方案2】:

    已有多个功能请求根据 Azure SQL 数据库的更改触发 Azure 函数。例如:

    https://github.com/Azure/azure-functions-python-worker/issues/365

    他们似乎没有优先考虑它,因为可以使用逻辑应用来实现此功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-29
      • 2019-09-06
      • 2022-01-19
      • 2018-11-25
      • 2021-02-08
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多