如何解决每小时对API进行REST调用,并将结果每小时保存到Azure SQL
我正在使用这个非常有用的SQLCLR script来对API进行REST调用,并即时将数据保存在sql Server上。 我创建了一个存储过程,该存储过程每小时都会提取新数据,因此我的数据总是会更新。 我希望将所有这些都放在Azure上,以便随后可以创建Power BI数据可视化。
问题:
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剥离了某些功能,例如sqlCLR
或sql Server Agent
(出于某些明显的安全原因)。
- 在Azure上
sqlCLR
之外还有其他选择吗? - 在Azure上
sql Server Agent
之外还有其他选择吗? - 基本上:如何每小时自动执行一次对API的REST调用并将结果保存到Azure上的sql Server?
解决方法
我认为没有SQL CLR的直接替代品。但是,有些Azure产品可能会很有趣。
我想一种替代方法是使用scheduled azure function来调用API,并将结果存储在Azure SQL数据库中。
请注意,如果该过程花费的时间超过10分钟,则您将无法使用Azure计划的消耗计划,这可能是最具成本效益的。
根据情况,Azure Data Factory也可以提供解决方案。您可以创建一个调用API的管道,并根据here将数据复制到Sql Server,概述为schedule trigger。
,尽管Azure Functions很棒,但您甚至可以使用Azure Logic应用程序,计划的触发器,http请求和mssql连接器而无需太多代码即可解决此问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。