Невозможно обновить схему таблицы Power BI через API с ApiaryIO или без него

Я использую Power BI API. У меня есть набор данных с некоторыми таблицами и строками.

Из Консоли Power BI API у меня нет проблем с получением наборов данных или таблиц.

Однако команда PUT для табличного ресурса для обновления его схемы всегда возвращает ошибку 504 – время ожидания запроса прокси-сервера истекло.

Я впервые использую Apiary IO, так что это может быть его проблема, а не обновление Power BI, но это наводит меня на некоторые вопросы:

  1. Есть ли обходной путь для тестирования Power BI, например, с помощью Fiddler? Я могу ввести URL и тело, но мне понадобится заголовок авторизации с токеном OAuth2, если я не ошибаюсь. Как я могу это получить? ApiaryIO, кажется, скрывает это.
  2. Согласно документации по схеме обновления URL-адрес с ресурсом — https://api.powerbi.com/v1.0/myorg/datasets/{myDatasetId}/tables/{myTableName}, а глагол — PUT. В чем тогда смысл параметра "name": "???", который идет в теле JSON? Это имя таблицы или что-то еще? Я предполагаю, что это имя таблицы, но оно кажется излишним, поскольку я уже обращаюсь к ресурсу {myTableName} по указанному URL-адресу.
  3. И мой последний связанный с этим вопрос: как переименовать столбец конкретной таблицы без изменения его данных? Это то, чего я пытаюсь добиться, обновляя схему, но я не понимаю, как Power BI узнает, какой столбец я пытаюсь переименовать.

Благодарю вас!


person diegosasw    schedule 26.08.2015    source источник


Ответы (2)


Извините, что у вас проблемы. Вы можете получить токен двумя способами. Правильный способ — создать приложение в AAD (вот как). Неправильный путь;) - открыть службу Power BI.com в браузере, затем открыть скрипач, а затем нажать F5 для перезагрузки. Вы должны увидеть токен доступа в различных запросах. Если вы регистрируете приложение, вы можете добавить информацию о нем в один из примеров, которые у нас есть https://powerbi.microsoft.com/developers, см. клиентское приложение или веб-приложение.

Имя, которое вы указываете в таблице, — это понятное человеку имя, которое появляется в пользовательском интерфейсе при создании отчета. Без него система непригодна для использования человеком :).

Позвольте мне вернуться к вам на # 3.

person Lukasz P.    schedule 26.08.2015

Вызов таблицы PUT попытается сохранить обновление таблицы без потери каких-либо данных (если только вы не удалили столбцы). Если это невозможно, он вернет ошибку конфликта. Если вы все еще хотите обновить схему таблицы, вам придется удалить строки и снова вызвать таблицу PUT. В настоящее время нет прямого способа переименовать столбец. Таблица PUT будет рассматривать это как удаление и добавление для этого столбца. Вы потеряете данные в этом столбце, но не во всей таблице.

person Josh Caplan - MSFT    schedule 26.08.2015