我正在尝试使用编写的Python脚本,该脚本使用REST API进行GET请求,并以JSON的形式返回数据,然后将数据插入到我必须创建的sql服务器中.
这项工作每天至少需要运行一次.我不熟悉在MSsql中创建表,更不用说创建SSIS包或使用ETL了.
对于没有实际经验,但是从概念上很好地理解了流程本身的人来说,我希望能获得一些指导,以了解如何做到这一点以及它的现实性.
我的最终目标是将这些数据导入Power BI文件中以进行实时报告.
(1)为什么选择SSIS?
我不明白你的意思
I am trying to take a Python script I wrote that makes GET requests utilizing a REST API and returns data in the form of JSON and then have that data be inserted into a MSsql server that I will have to create.
如果Python脚本创建成功,而问题仅在于每天运行.那么,为什么不使用操作系统调度程序来执行此脚本呢?如果脚本尚未创建,并且仅从Rest Api读取,并将其打印为输出.然后忽略这部分.
(2)使用第三方组件
我认为如果您决定使用SSIS,则不需要使用python脚本,因为它尚未集成,并且可能需要其他工作.
在SSIS中,没有用于Rest API或JSON源的特定组件,您有两种选择:
>使用第三方组件(本部分)
>使用脚本组件(下一部分)
您可以参考Visual Studio市场中各种各样的第三方组件.正如示例ZappySys提供的许多组件,例如:
> SSIS JSON Source (File,REST API,OData)
> SSIS REST API Web Service Task
他们发布了一些有关如何使用这些组件的指南:
> How to load JSON / REST API to SQL Server in SSIS
> SSIS JSON Source (File,OData)
(3)使用脚本组件
您可以编写一个脚本组件来从Rest API获取数据并将其导入到sql Server,而不是使用第三方组件.您可以参考以下链接中的打开以获取更多信息:
> Using REST API in SSIS to Extract Top 100 User Tweets
> Download JSON Data with SSIS
> Consume Rest Api with SSIS
> Using a JSON Feed as a Data Source in SSIS
(4)使用执行流程任务执行Python脚本
另一个建议是执行从Execute Process Task到平面文件的python脚本,然后从平面文件读取到sql Server,您可以参考以下链接以获取更多信息:
> Scraping data with SSIS and Python
(5)使用IronPython
070011 is an open-source implementation of the Python programming language which is tightly integrated with the .NET Framework. IronPython can use the .NET Framework and Python libraries,and other .NET languages can use Python code just as easily.
我以前没有使用过这个库,我也不知道我能不能帮上忙.昨天,我读到了@billinkc所写的comment,它链接到下面的答案,其中包含有关如何执行此操作的出色指南:
> SSIS: Execute Ironpython or Ironruby scripts through SSIS
(6)直接从POWER BI读取
如果您的最终目标是在不需要存储数据的情况下读取Power BI中的REST API输出,则尝试在不需要python或SSIS的情况下进行操作:
> How to call REST APIs and parse JSON with Power BI
> Using Power BI with JSON Data Sources and Files
> How to import REST API in Power BI (Load JSON / SOAP XML)(使用第三方组件)