Ошибка коннектора сообщества Data Studio: количество столбцов в данных не соответствует количеству в схеме.

Когда я пытаюсь изучить свой источник данных, полученный с помощью настраиваемого коннектора, я обнаруживаю системную ошибку: 593d1fe0.

The number of columns received in the data returned from the community connector does not match the number of columns requested by Data Studio

Но когда я отлаживаю свою функцию getData, результат содержит те же столбцы и такое же количество столбцов.

Что может вызвать такого рода неприятности? несколько снимков экрана отладки:

схема

данные (строки)

Правильна ли моя структура вывода? есть ли что-то, что нужно учитывать в отношении имен столбцов?


person Frédéric P.    schedule 06.08.2018    source источник


Ответы (1)


Студия данных не запрашивает все возможные поля у функции getData. В большинстве случаев Data Studio запрашивает небольшое подмножество доступных полей. Список обязательных полей будет передан в объект request при выполнении вызова getData.

См. справочную документацию по getData, чтобы понять структуру request и fields.

Ваш getData ответ не должен возвращать все доступные поля. Скорее, ответ должен возвращать только запрошенные поля. См. пример кода, показывающий, как можно фильтровать поля.

Для получения дополнительной помощи вы можете попробовать официальную codelab - шаг 10 имеет отношение к вашему вопросу. Вы также можете просмотреть другие примеры в официальном репозитории с открытым исходным кодом Data Studio.

person Minhaz Kazi    schedule 07.08.2018
comment
Привет @ minhaz-kazi! Спасибо за вашу помощь и обучающие материалы. Разве этот процесс не замедляет выполнение? Когда getData принимает только некоторые из обязательных полей, он обязательно должен возвращаться к функции несколько раз и ссылаться на API или источник несколько раз. - person Max Makhrov; 09.06.2020
comment
Наиболее желанный! Время выполнения будет фактически зависеть от элементов на вашей панели. например если в вашей схеме 60 полей, а на панели инструментов только один элемент с 2 полями, выполнение может быть быстрее. Этот тип конструкции также позволяет соединителям иметь схему, обслуживающую несколько конечных точек, а не только один экземпляр табличных данных. Хорошим примером этого является собственный коннектор Google Analytics. Кроме того, если ваш API поддерживает фильтрацию и агрегацию, вы также получите выгоду от этого. - person Minhaz Kazi; 09.06.2020