Я работаю с вызовом API, чтобы получить контактную информацию из CRM по продажам / маркетингу на Postgres Server. Я создал скрипт Python, который работает, но я убежден, что есть гораздо лучший способ сделать это, который я, вероятно, упускаю из виду.
Я создал схему, которая учитывает все поля, которые могут быть возвращены объектом из вызова API с использованием SQLAlchemy.
Затем я написал скрипт на python для вызовов API. По возвращении скрипт перебирает каждый объект и ищет все свойства. Если объект имеет свойство, оно записывается. В противном случае свойство записывается как тип None.
for i in API.response:
id = i['id'] # objects always return an ID
# Use method below for each possible attribute that could be
# returned with an object (max ~200 properties).
try:
foo = i['contact_attribute']
except:
foo = None
insert_statement = Class.insert.values(id, foo)
db.connect().execute(insert_statement)
Программа работает, но я ищу отзывы, чтобы улучшить работу ETL. Любая обратная связь будет принята с благодарностью!