我有一个 REST 服务,需要将数据更新到 Azure SQL Server 数据库和本地 SQL Server 数据库中。两个数据库的某些数据库表中应该有相同的数据。
在 Azure 中运行的调度服务,将数据传输到 Azure 数据库,然后传输到本地数据库(例如每 5 分钟一次)是可以的。其他技术也是如此,例如 REST 更新 Azure 数据库和本地数据库。
我对使用配置和 C# 编程等 Azure 技术还很陌生。
我已经阅读了有关函数应用程序、Azure 数据工厂、Azure 逻辑应用程序和同步的文章,但不知道使用什么技术可以将数据从 Azure 传输到 Azure 数据库,然后再传输到本地数据库。
你是如何解决此类问题的?
此致,
迈克尔
答案1
无论你使用什么服务,都需要能够访问两个 SQL 服务器。访问 Azure SQL 很容易,但我认为你的本地 SQL 服务器不会暴露在互联网上,所以你需要一种方法来连接到它。
函数是一种简单易用的工具,可用于运行任何类型的代码,而无需担心服务器等,但是,它无法进入您的本地环境。您可以将消息写入服务总线,然后在本地运行另一个应用程序,并让该应用程序收集消息并将其写入本地数据库。不过,这一切都有点痛苦。
数据工厂和逻辑应用程序都有略好一些的解决方案,因为它们都具有“数据网关”的前提,即您在本地运行的应用程序,它允许 Azure 服务与本地资源对话,而无需将它们直接暴露给互联网。
如果您想提供一个 REST 端点并同时写入两个数据库,那么逻辑应用程序可能是实现此目的的方法。它可以提供一个 REST 端点供调用,然后您可以使用此数据构建工作流以写入两个位置,使用本地数据网关。但是,如果您乐意写入 Azure SQL DB,然后让流程将该数据同步到本地,那么数据工厂可以为您完成此操作。
一些有用的链接: