Я разработал метод, который выполняет следующие шаги в следующем порядке:
1) Получить метаданные отчета через /gdc/md//obj/
2) Из этого получить определение отчета и использовать его как полезная нагрузка для вызова /gdc/xtab2/executor3
3) Использовать результат этого вызова в качестве полезной нагрузки для вызова /gdc/exporter/executor
4) Выполнить GET для возвращенного URI, чтобы загрузить сгенерированный CSV
Так что все это работает нормально, но проблема в том, что я часто получаю пустой CSV или неполный CSV. Мой обходной путь заключался в том, чтобы поместить sleep() между получением URI и фактическим вызовом GET для URI. Однако по мере роста наших данных мне приходится увеличивать задержку, и даже тогда нет гарантии, что я получил полные данные. Есть ли способ убедиться, что отчет завершил экспорт данных в файл перед вызовом URI?