Поделиться через


Разработка с помощью REST API для сервера отчетов Power BI

Сервер отчетов Power BI поддерживает API передачи репрезентативного состояния (REST). REST API — это конечные точки службы, поддерживающие набор операций HTTP (методов), которые обеспечивают создание, извлечение, обновление или удаление доступа к ресурсам на сервере отчетов.

REST API предоставляет программный доступ к объектам в каталоге сервера отчетов Power BI. Примерами объектов являются папки, отчеты, ключевые показатели эффективности, источники данных, наборы данных, планы обновления, подписки и многое другое. С помощью REST API можно, например, перемещаться по иерархии папок, обнаруживать содержимое папки или скачать определение отчета. Вы также можете создавать, обновлять и удалять объекты. Примеры работы с объектами — отправка отчета, выполнение плана обновления, удаление папки и т. д.

Замечание

Если вы хотите просмотреть или удалить персональные данные, ознакомьтесь с правилами Майкрософт на сайте Запросы субъектов данных, определенные в GDPR, в отношении Windows. Если вы ищете общие сведения о GDPR, ознакомьтесь с разделом GDPR на портале управления безопасностью служб.

Компоненты запроса и ответа REST API

Пару запросов и ответов REST API можно разделить на пять компонентов:

  • URI запроса, состоящий из: {URI-scheme} :// {URI-host} / {resource-path} ? {query-string} Хотя URI запроса включен в заголовок сообщения запроса, мы вызываем его отдельно здесь, так как большинство языков или платформ требуют передачи его отдельно от сообщения запроса.

    • Схема URI: указывает протокол, используемый для передачи запроса. Например, http или https.
    • Хост URI: Указывает доменное имя или IP-адрес сервера, на котором хостится конечная точка службы REST, например myserver.contoso.com.
    • Путь к ресурсу: указывает коллекцию ресурсов или ресурсов, которая может включать несколько сегментов, используемых службой при определении выбора этих ресурсов. Например, CatalogItems(01234567-89ab-cdef-0123-456789abcdef)/Properties можно использовать для получения указанных свойств для CatalogItem.
    • Строка запроса (необязательно): предоставляет другие простые параметры, такие как версия API или критерии выбора ресурсов.
  • Поля заголовка сообщения HTTP-запроса:

    • Обязательный метод HTTP (также известный как операция или команда), который сообщает службе, какой тип операции вы запрашиваете. REST API служб Reporting Services поддерживают методы DELETE, GET, HEAD, PUT, POST и PATCH.
    • Другие необязательные поля заголовка, необходимые для указанного метода URI и HTTP.
  • Необязательные поля текста сообщения HTTP-запроса для поддержки операции URI и HTTP. Например, операции POST содержат объекты в кодировке MIME, передаваемые в виде сложных параметров. Для операций POST или PUT тип кодирования MIME для текста также должен быть указан в заголовке Content-type запроса. Для некоторых служб требуется использовать определенный тип MIME, например application/json.

  • Заголовок HTTP, содержащий поля сообщения-ответа:

    • Код состояния HTTP, начиная от кодов успешности 2xx до кодов ошибок 4xx или 5xx. Кроме того, может быть возвращен код состояния, определенный службой, как указано в документации по API.
    • Другие необязательные поля заголовка, необходимые для поддержки ответа запроса, например, заголовок Content-type ответа.
  • Необязательные поля текста сообщения HTTP-ответа :

    • Объекты ответа в кодировке MIME возвращаются в тексте ОТВЕТА HTTP, например ответ метода GET, возвращающего данные. Как правило, эти объекты возвращаются в структурированном формате, например JSON или XML, как указано в заголовке Content-type ответа.

Документация по API

Современный REST API требует современной документации по API. REST API основан на спецификации OpenAPI (также известной как спецификация swagger), а документация доступна в Microsoft Learn.

Тестирование вызовов API

Средство тестирования сообщений HTTP-запроса и ответа — Fiddler. Fiddler — это бесплатный прокси-сервер веб-отладки, который может перехватывать запросы REST, что упрощает диагностику сообщений HTTP-запроса или ответа.

Просмотрите доступные API в Microsoft Learn.

Примеры доступны на сайте GitHub. Пример включает приложение HTML5, созданное на основе TypeScript, React и webpack вместе с примером PowerShell.

Дополнительные вопросы? Попробуйте обратиться к сообществу Power BI