【问题标题】:Make REST call to API and save the result to Azure SQL every hour每小时对 API 进行 REST 调用并将结果保存到 Azure SQL
【发布时间】:2020-12-28 06:25:59
【问题描述】:

我正在使用这个非常有用的SQLCLR script 对 API 进行 REST 调用,并将数据动态保存在 SQL Server 上。 我创建了一个存储过程,它每小时提取一次新数据,因此我的数据总是会更新。 我希望将所有这些都放在 Azure 上,这样我就可以创建 Power BI 数据可视化。

问题:

当我尝试在 Azure 上传输数据库时,我收到此错误:

TITLE: Microsoft SQL Server Management Studio
------------------------------

Could not import package.
Warning SQL0: A project which specifies SQL Server 2019 or Azure SQL Database Managed Instance as the target platform may experience compatibility issues with Microsoft Azure SQL Database v12.
Error SQL72014: .Net SqlClient Data Provider: Msg 40517, Level 16, State 1, Line 4 Keyword or statement option 'unsafe' is not supported in this version of SQL Server.
Error SQL72045: Script execution error.  The executed script:
CREATE ASSEMBLY [ClrHttpRequest]
    AUTHORIZATION [dbo]
    FROM 0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C0103006D85475F0000000000000000E00022200B0130000026000000060000000000007E45000000200000006000000000001000200000000200000400000000000000060000000000000000A00000000200004C1E01000300608500001000001000000000100000100000000000001000000000000000000000002C4500004F00000000600000FC03000000000000000000000000000000000000008000000C000000F44300001C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000082000004800000000000000000000002E7465787400000084250000002000000026000000020000000000000000000000000000200000602E72737263000000FC030000006000000004000000280000000000000000000000000000400000402E72656C6F6300000C000000008000000002000000
 (Microsoft.SqlServer.Dac)

------------------------------
BUTTONS:

OK
------------------------------

发生这种情况是因为 Azure SQL 剥离了一些功能,例如 SQLCLRSQL Server Agent(出于某些明显的安全原因)。

  • 在 Azure 上是否有任何替代 SQLCLR 的方法?
  • 在 Azure 上是否有任何替代 SQL Server Agent 的方法?
  • 基本上:如何每小时自动执行一次 API 的 REST 调用并将结果保存到 Azure 上的 SQL Server?

【问题讨论】:

    标签: azure api azure-sql-database sqlclr sql-server-agent


    【解决方案1】:

    我认为没有直接替代 SQL CLR 的方法。但是,有一些 Azure 产品可能会很有趣。

    我想另一种方法是使用 scheduled azure function 调用 API 并将结果存储在 Azure SQL 数据库中。

    请注意,如果该过程花费的时间超过 10 分钟,则您不能使用 Azure Function 的消费计划,这可能是最具成本效益的。

    根据场景,Azure Data Factory 也可以提供解决方案。您可以创建一个调用 API 并将数据复制到 Sql Server 的管道,如here 所述,基于schedule trigger

    【讨论】:

      【解决方案2】:

      即使 Azure Functions 很棒,您甚至可以使用 Azure 逻辑应用、计划的触发器、http 请求和 mssql 连接器来解决这个问题。

      https://azure.microsoft.com/de-de/services/logic-apps/

      【讨论】:

        猜你喜欢
        • 2019-09-03
        • 2014-04-16
        • 1970-01-01
        • 1970-01-01
        • 2023-01-21
        • 2017-02-01
        • 1970-01-01
        • 2013-12-18
        • 2021-09-06
        相关资源
        最近更新 更多