Анализировать объем данных вызовов 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:

Вызовы 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

с результатом, таким как:

Анализ вызовов API

Другие вопросы по тегам