Я работал над своим набором навыков в Python, чтобы вызывать RestAPIs, возвращать / анализировать json и сохранять результаты.В конечном итоге моей конечной целью было бы создание программ для доставки наших данных в наше хранилище данных.
Я дошел до возможности вызывать API и сохранять данные в CSV, и я могу открыть соединение с базой данных и выполнить инструкцию SQL и напечатать результат, но это мой пробел.
Теперь, когда SQL Server 2017 имеет возможность запускать скрипты Python в SSMS и создавать хранимые процедуры, я надеялся, что смогу устранить пробел в SQL и вызвать API-интерфейсы, использующие Python, вернуть данные, а затем использовать SQL дляпроверить и добавить данные в правильные таблицы.
Единственные примеры сценариев, которые я видел для Python в SQL Server, предназначены для анализа данных, уже находящихся в SQL Server, а не для хранения данных в SQL.
Это то, что я имею до сих пор.
Какие пакеты Python мне нужны, и как мне вставить операторы SQL / переменные SQL в скрипт Python для использования?
--Python Version
execute sp_execute_external_script
@language = N'Python',
@script = N'
import sys
import codecs
import requests
import json
locations = select top(10) locationId from TestDb.locationstable
for j in range(locations):
url = "http://example.com/api/location/" + locations[j]+ "/users"
querystring = {"pretty":"1"}
headers = {"Api-Key": ""}
r = requests.request("GET", url, headers=headers, params=querystring)
d = r.json()
status = d["status"]
responseData = d["data"]["Users"]
print(status)
print(responseData)
Часть Python работает в SQL Server, когда я беру цикл и жесткий код для одного местоположения в скрипте, но не уверен, как получить переменную местоположений, ссылающуюся на список данных из выбора.заявление для работы в скрипте Python.
И затем, как бы я что-то сделал с возвращенными данными ответа, если они возвращаются так:
STDOUT message(s) from external script:
status: 200
STDOUT message(s) from external script:
[{'id': '123', 'name': 'Sally'}, {'id': '124', 'name': 'Joe'}]