回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我已经编写了一些python代码来从RESTAPI提取数据并将其加载到Azure SQL数据库中。但这一过程大约需要半个小时才能完成20000条线路。有没有更有效的方法?我在想,也许可以将数据提取为json文件,并将其放在blob storate中,然后使用azure数据工厂将数据加载到SQL中,但不知道如何以这种方式编码</p>
<pre><code>def manualJournalLineItems(tenantid):
endpoint = "api.xro/2.0/manualjournals/?page=1"
result = (getAPI(endpoint,token,tenantid))
page = 1
while result['ManualJournals']:
endpoint = "api.xro/2.0/manualjournals/?page="+str(page)
result = (getAPI(endpoint,token,tenantid))
for inv in result['ManualJournals']:
for li in inv['JournalLines']:
cursor.execute("INSERT INTO [server].dbo.[Xero_ManualJournalLines](ManualJournalID,AccountID,Description,LineAmount,TaxAmount,AccountCode,Region) VALUES(?,?,?,?,?,?,?)",inv['ManualJournalID'],li['AccountID'],li.get('Description',''),li.get('LineAmount',0),li.get('TaxAmount',0),li.get('AccountCode',0),tenantid)
conn.commit()
page = int(page)+1
</code></pre>