Вызов внешнего API при изменении таблицы базы данных SQL Azure - PullRequest
0 голосов
/ 30 октября 2018

У нас есть таблица с именем Guest в базе данных SQL Azure. У нас также есть инструмент управления кампаниями, который стоит за API в облаке провайдеров.

Когда запись создается, обновляется или удаляется в таблице «Гость», мы хотели бы вызвать API, чтобы обновить инструмент управления кампанией самой последней информацией о госте.

Наша первоначальная идея заключалась в том, чтобы подключить триггер базы данных к функции C # .NET Azure, однако, похоже, это поддерживается только в Cosmos DB.

Мы бы предпочли, чтобы приложение не выполнялось по запланированному заданию, которое периодически проверяет изменения в базе данных и отправляет эти изменения в API.

Мы также читали о создании хранимых процедур CLR, но похоже, что они не поддерживаются в базах данных SQL Azure.

Будем рады услышать идеи и предложения.

Ответы [ 3 ]

0 голосов
/ 30 октября 2018

Вы также можете использовать Azure Logic Apps для этого случая.

Есть несколько предопределенных триггеров, которые помогают запускать

  • Когда элемент создан

  • Когда предмет модифицируется

Затем используйте Action для вызова вашего API

См. Здесь

Это будет самый простой способ достичь своего варианта использования.

0 голосов
/ 05 февраля 2019

Вам придется перейти на экземпляры Azure SQL Managed, которые поддерживают CLR и Broker. https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance-transact-sql-information#clr

0 голосов
/ 30 октября 2018

Я могу придумать несколько способов сделать это.

[К сожалению, CLR больше не поддерживается в SQL Azure.]

Один из способов:

  1. Включите Изменить захват данных в таблице Guest.
  2. Создание безсерверной функции Azure, которая имеет триггерный таймер . Эта функция будет использовать CDC, чтобы определить, что изменилось в вашей таблице, и соответственно вызвать API вашего поставщика.

Безсерверная функция относительно легка по сравнению с «приложением, выполняемым по запланированной задаче».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...