更改Azure SQL数据库表时调用外部API

时间:2018-10-30 02:34:11

标签: sql-server azure azure-sql-database azure-functions database-trigger

我们在Azure SQL数据库中有一个名为Guest的表。我们还在供应商云上的API后面提供了一个广告系列管理工具。

在Guest表中创建,更新或删除记录时,我们想调用API,以便使用有关Guest的最新信息来更新广告系列管理工具。

我们最初的想法是将数据库触发器连接到C#.NET Azure函数,但是,看起来这仅在Cosmos DB中受支持。

我们不希望应用程序运行在计划任务上,该应用程序会定期检查数据库中的更改并将这些更改发送到API。

我们也一直在阅读有关创建CLR存储过程的信息,但看起来Azure SQL数据库中不支持这些存储过程。

期待听到想法和建议。

3 个答案:

答案 0 :(得分:3)

我可以想到几种方法来实现这一目标。

[不幸的是,SQL Azure中不再支持CLR。]

一种方法是:

  1. grep '#define IMAX' 1d_Euler_mpi_test.c | awk '{print $3}' | sed 桌上打开Change Data Capture
  2. 创建具有timer trigger的无服务器Azure函数。此函数将使用CDC确定表中已更改的内容,并相应地调用供应商API。

与“在预定任务上运行的应用程序”相比,无服务器功能相对轻量。

答案 1 :(得分:0)

在这种情况下,您也可以使用-J command-line argument

有一些预定义的触发器可以帮助触发

  • 创建项目时

  • 修改项目时

然后使用操作调用您的API

Azure Logic Apps

这是实现用例的最简单方法。

答案 2 :(得分:0)