Извлечение результатов отчета с CloudConnect
Я хотел бы извлечь необработанные результаты отчета в рамках процесса CloudConnect.
Пока мне удалось получить ответ от конечной точки API необработанного отчета - https://secure.gooddata.com/gdc/app/projects/{project_id}/execute/raw/
Этот ответ содержит URI к файлу, и если я добавлю этот URI в браузер, файл будет загружен.
Я попытался передать этот URI следующим читателям без успеха:
- CSV Reader выдает следующую ошибку:
------------------- Подробности ошибок ------------------
Компонент [CSV Reader:CSV_READER] завершен со статусом ERROR.
Ошибка разбора: неожиданный конец файла в записи 1, поле 1 ("дата"), метаданные "outOfStock"; значение: необработанные данные записи недоступны, пожалуйста, включите подробный режим.
- Загрузка файла - я не знаю, как передать URI через порт в параметр "URL to Downlaod".
- HTTP Connector снова не вижу, как передать URI из порта.
Как это сделать?
РЕДАКТИРОВАТЬ
Если я использую HTTP-коннектор, как предложено @Filip, я получаю следующую ошибку:
Детали ошибки:
Компонент [HTTP-соединитель:HTTP_CONNECTOR] завершен со статусом ERROR. имя хоста в сертификате не совпадает: xxx.com!= secure.gooddata.com ИЛИ secure.gooddata.com
Я попытался установить заголовок X-GDC-CHECK-DOMAIN: false
без эффекта.
2 ответа
Решение от поддержки GoodData:
HTTP-коннектор также можно использовать, но он очень сложный, потому что необходимо войти в GoodData. REST разъем имеет встроенный.
Если вы хотите запустить пример графика, вы должны войти в CloudConnect с пользователем, у которого есть доступ к проекту, из которого вы хотите экспортировать отчет. Кроме того, необходимо изменить URL-адрес на учетную запись с белой меткой в обоих компонентах соединителя REST и изменить определение проекта и отчета в первом соединителе REST.
Итак, график, который работает, выглядит так:
Вот основные поля, которые вам нужно будет установить для каждого элемента:
- Get Results URI - установить параметры для запроса POST:
Request URL = https://secure.gooddata.com/gdc/app/projects/${GDC_PROJECT_ID}/execute/raw/
Request Body =
{
"report_req": {
"reportDefinition": "gdc/md/${GDC_PROJECT_ID}/obj/${OBJECT_ID}"
}
}
Получить URI из ответа - просто сопоставьте значение URI с соответствующим полем:
<Mapping cloverField="uri" xpath="uri"/>
Загрузить результаты - убедитесь, что он связан с метаданными с двумя полями, одно для ответа с данными, другое для передачи через
uri
,Загрузить результаты - вам нужно будет исключить
uri
поле для обработки данных:
Exclude Fields = uri
HTTP-коннектор - это правильный компонент. Оставьте свойство URL пустым и используйте свойство компонента, называемое "Отображение ввода", где в графическом редакторе вы можете назначить поле края ввода для поля URL.