首页 > 解决方案 > 从 Azure SQL 数据库调用 API(相对于 SQL Server)

问题描述

所以我有一个 Azure SQL 数据库实例,我需要在该实例上运行每晚的数据导入,并且我打算安排一个存储过程来对 API 端点发出基本的 GET 请求,但似乎 OLE 对象不存在在 Azure 版本的 SQL Server 中。是否有任何其他方法可以在 Azure SQL 数据库中提供 API 调用,或者我是否需要在数据库之外放置一些东西来完成此操作?

标签: sql-serverazureazure-sql-database

解决方案


有几种选择。我不知道您问题的第一条评论中所述的 powershell 作业是否可以执行 http 请求,但我知道至少有几个选项:

Azure 数据工厂允许您创建计划的管道以将数据从各种源(如http 端点)复制/转换到各种目标(如 azure sql 数据库)。这不涉及或只涉及一点脚本。

Azure Logic Apps允许您执行相同的操作:

借助 Azure 逻辑应用,您可以将(云)数据集成到(本地)数据存储中。例如,逻辑应用可以将 HTTP 请求数据存储在 SQL Server 数据库中。

逻辑应用程序也可以由计划触发,并且不涉及或只涉及很少的脚本

您还可以编写一个按计划执行并调用 http 端点并将结果写入数据库的Azure 函数。支持多种语言编写函数,例如 c# 和 powershell。

所有这些选项都包括在计划之外强制执行的可能性。

在我看来,鉴于需要解析大量 json 数据,Azure 数据工厂(无编码)或 Azure 函数(仅代码)是最佳选择。但请注意,Consumption Plan 上的 Azure Functions 每次调用允许的最大执行时间为 10 分钟。


推荐阅读