Разработка с помощью API REST для служб Reporting Services
Область применения: службы SQL Server Reporting Services (2017 и более поздние версии) Сервер отчетов Power BI ❌
Microsoft SQL Server 2017 Reporting Services поддерживает API передачи репрезентативного состояния (REST). API-интерфейсы REST — это конечные точки службы, которые поддерживают набор операций HTTP (методов), предоставляющих доступ на создание, получение, обновление или удаление ресурсов в сервере отчетов.
API REST обеспечивает программный доступ к объектам в каталоге сервера отчетов служб SQL Server 2017 Reporting Services. Примерами объектов являются папки, отчеты, ключевые показатели эффективности, источники данных, наборы данных, планы обновления, подписки и многое другое. С помощью API REST можно, например, перемещаться по иерархии папок, обнаруживать содержимое папки или загружать определение отчета. Можно также создавать, обновлять и удалять объекты. Примеры работы с объектами включают отправку отчета, выполнение плана обновления, удаление папки и т. д.
Примечание.
Если вы хотите просмотреть или удалить персональные данные, ознакомьтесь с правилами Майкрософт на сайте Запросы субъектов данных, определенные в GDPR, в отношении Windows. Если вам требуются общие сведения о GDPR, см. раздел, посвященный GDPR, на портале Service Trust Portal.
Компоненты запроса и ответа API REST
Пару запроса-ответа API REST можно разделить на пять компонентов:
URI запроса, который состоит из:
{URI-scheme} :// {URI-host} / {resource-path} ? {query-string}
. Несмотря на то, что URI запроса включается в заголовок сообщения запроса, мы выделяем его отдельно, так как большинство языков или платформ требуют передавать его отдельно от сообщения запроса.- Схема URI: указывает протокол, используемый для передачи запроса. Например,
http
илиhttps
. - Узел URI: указывает имя домена или IP-адрес сервера, где размещена конечная точка службы REST, например
myserver.contoso.com
. - Путь к ресурсу. Указывает коллекцию ресурсов или ресурсов, которая может включать несколько сегментов, используемых службой при определении выбора этих ресурсов. Например: для получения указанных свойств CatalogItem можно использовать
CatalogItems(01234567-89ab-cdef-0123-456789abcdef)/Properties
. - Строка запроса (необязательно): предоставляет более простые параметры, такие как версия API или критерии выбора ресурсов.
- Схема URI: указывает протокол, используемый для передачи запроса. Например,
Поля заголовка сообщения HTTP-запроса:
- Обязательный метод HTTP (также известный как операция или команда), который сообщает службе, какой тип операции вы запрашиваете. API-интерфейсы REST служб 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:
- В тексте ответа HTTP возвращаются объекты ответа в кодировке MIME, например ответ от метода GET, который возвращает данные. Как правило, эти объекты возвращаются в структурированном виде, например JSON или XML, как указано в заголовке ответа
Content-type
.
- В тексте ответа HTTP возвращаются объекты ответа в кодировке MIME, например ответ от метода GET, который возвращает данные. Как правило, эти объекты возвращаются в структурированном виде, например JSON или XML, как указано в заголовке ответа
Документация по API
Современный API REST требуется для современного документирования API. Интерфейс REST API основан на спецификации OpenAPI (также известной как спецификация Swagger), а соответствующая документация доступна на сайте SwaggerHub. Помимо документирования API, SwaggerHub помогает создать клиентскую библиотеку на нужном языке — JavaScript, TypeScript, C#, Java, Python, Ruby и т. д.
Тестовые вызовы API
Для тестирования сообщений запросов и ответов HTTP используется средство Fiddler. Fiddler — это бесплатный прокси-сервер веб-отладки, который может перехватывать запросы REST, что упрощает диагностику сообщений запросов и ответов HTTP.
Следующие шаги
Ознакомьтесь с доступными API-интерфейсами на сайте SwaggerHub.
Образцы можно найти на сайте GitHub. Пример включает в себя приложение HTML5, созданное на основе TypeScript, React и Webpack вместе с примером PowerShell.
Есть еще вопросы? Посетите форум служб Reporting Services.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по