Извлечение результатов отчета с 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.

Итак, график, который работает, выглядит так:

График, который загружает отчет

Вот основные поля, которые вам нужно будет установить для каждого элемента:

  1. 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}" } }

  1. Получить URI из ответа - просто сопоставьте значение URI с соответствующим полем:

    <Mapping cloverField="uri" xpath="uri"/>

  2. Загрузить результаты - убедитесь, что он связан с метаданными с двумя полями, одно для ответа с данными, другое для передачи через uri,

  3. Загрузить результаты - вам нужно будет исключить uri поле для обработки данных:

Exclude Fields = uri

HTTP-коннектор - это правильный компонент. Оставьте свойство URL пустым и используйте свойство компонента, называемое "Отображение ввода", где в графическом редакторе вы можете назначить поле края ввода для поля URL.

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