Анализировать объем данных вызовов API с помощью Invantive SQL
Механизм SQL скрывает все изящные детали того, какие вызовы API выполняются. Однако некоторые облачные решения имеют цену за вызов API.
Например:
select *
from transactionlines
извлекает все строки транзакций Exact Online текущей компании, но:
select *
from transactionlines
where financialyear = 2016
эффективно фильтрует его по API REST Exact Online только к тому году, сокращая объем данных. А также:
select *
from gltransactionlines
where year_attr = 2016
извлекает все данные, так как предложение where не пересылается в этот XML API Exact.
Конечно, я могу подключить fiddler или wireshark и попытаться проанализировать объем данных, но есть ли более простой способ анализа объема данных вызовов API с помощью Invantive SQL?
1 ответ
Прежде всего, все вызовы, обрабатываемые Invantive SQL, регистрируются в Invantive Cloud вместе с:
- время
- объем данных в обоих направлениях
- продолжительность
включить согласованный мониторинг использования API на всех поддерживаемых облачных платформах. Фактические данные не регистрируются и перемещаются напрямую.
Вы можете запросить те же номера в вашей сессии, например:
select * from exactonlinerest..projects where code like 'A%'
извлекает все проекты с кодом, начинающимся с 'A'. А потом:
select * from sessionios@datadictionary
показывает вам звонки API:
Вы также можете поместить запрос, подобный следующему, в конце сеанса перед выходом из системы:
select main_url
, sum(bytes_received) bytes_received
, sum(duration_ms) duration_ms
from ( select regexp_replace(url, '\?.*', '') main_url
, bytes_received
, duration_ms
from sessionios@datadictionary
)
group
by main_url
с результатом, таким как: