Использование приложения, развернутого в SQL Server Кластеры больших данных с помощью веб-службы RESTful
Область применения: SQL Server 2019 (15.x)
В этой статье описывается использование приложения, развернутого в кластере больших данных SQL Server, с помощью веб-службы на основе REST.
Внимание
Поддержка надстройки "Кластеры больших данных" Microsoft SQL Server 2019 будет прекращена. Мы прекратим поддержку Кластеров больших данных SQL Server 2019 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, и программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений SQL Server до этого времени. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе Microsoft SQL Server.
Необходимые компоненты
- Кластер больших данных SQL Server
- Интерфейс командной строки Azure Data (
azdata
) - Приложение, развернутое с помощью azdata или расширения развертывания приложения
Примечание.
Если в файле спецификации YAML приложения указано расписание, приложение будет запущено с помощью задания cron. Если кластер больших данных развертывается в OpenShift, запуск задания cron требует дополнительных возможностей. Подробные инструкции см. в рекомендациях по безопасности для OpenShift.
Возможности
После развертывания приложения в Кластеры больших данных SQL Server 2019 вы можете получить доступ к приложению и использовать его с помощью веб-службы RESTful. Это обеспечивает интеграцию этого приложения с другими приложениями или службами (например, мобильным приложением или веб-сайтом). В следующей таблице описаны команды развертывания приложения, которые можно использовать с azdata, чтобы получить сведения о веб-службе на основе REST для приложения.
Команда | Description |
---|---|
azdata app describe |
Описание приложения. |
Справку по параметру --help
можно получить, как показано в следующем примере.
azdata app describe --help
В следующих разделах описано, как получить конечную точку для приложения и работать с веб-службой на основе REST для интеграции приложений.
Получение конечной точки
Кластеры больших данных предоставляют конечные точки, которые можно использовать для доступа к приложению и работы с ним с помощью веб-службы RESTful. Основное их назначение заключается в том, чтобы упростить взаимодействие с другими веб- или мобильными приложениями и обеспечить более активный переход на эту архитектуру микрослужб. Команда azdata app describe предоставляет подробные сведения о приложении, включая конечную точку в кластере. Обычно она используется разработчиком приложения, чтобы создать приложение с помощью клиента Swagger и использовать веб-службу для взаимодействия с приложением на основе REST.
Опишите приложение, выполнив команду, аналогичную приведенной в следующем примере:
azdata app describe --name add-app --version v1
{
"input_param_defs": [
{
"name": "x",
"type": "int"
},
{
"name": "y",
"type": "int"
}
],
"links": {
"app": "https://10.1.1.3:30080/app/addpy/v1",
"swagger": "https://10.1.1.3:30080/app/addpy/v1/swagger.json"
},
"name": "add-app",
"output_param_defs": [
{
"name": "result",
"type": "int"
}
],
"state": "Ready",
"version": "v1"
}
Запишите IP-адрес (в этом примере — 10.1.1.3
) и номер порта (30080
) в выходных данных.
Доступен еще один способ получения этой информации: щелкните правой кнопкой мыши элемент "Управление" на сервере в Azure Data Studio, где будут перечислены конечные точки служб.
Создание маркера доступа JWT
Чтобы обратиться к веб-службе на основе REST для развернутого приложения, сначала нужно создать маркер доступа JWT. URL-адрес маркера доступа зависит от версии кластера больших данных.
Версия | URL |
---|---|
GDR1 | https://[IP]:[PORT]/docs/swagger.json |
C пакетом обновления 1 (CU1) и более поздними версиями | https://[IP]:[PORT]/api/v1/swagger.json |
Учитывая выходные данные предыдущего примера, выпуск CU4 и IP-адрес контроллера (10.1.1.3 в этом примере) и номер порта (30080), URL-адрес будет выглядеть следующим образом:
https://10.1.1.3 :30080/api/v1/swagger.json
Сведения о версиях см. в журнале выпусков.
Откройте соответствующий URL-адрес в браузере, объединяя IP-адрес и порт, которые вы получили при выполнении указанной выше команды describe
. Войдите в систему с теми же учетными данными, которые использовались для azdata login
.
Вставьте содержимое swagger.json
в редактор Swagger, чтобы понять, какие методы доступны.
Обратите внимание, что app
является методом GET и для получения token
использует метод POST. Так как проверка подлинности для приложений использует маркеры JWT, вам потребуется получить маркер с помощью привычного вам средства, чтобы выполнить запрос POST к методу token
. В том же примере URL-адрес для получения маркера JWT будет выглядеть следующим образом:
https://10.1.1.3 :30080/api/v1/token
Ниже приведен пример того, как именно это можно сделать в Postman.
В выходных данных этого запроса вы получите access_token
JWT, который потребуется при вызове URL-адреса для запуска приложения.
Выполнение приложения с помощью веб-службы на основе REST
Существует несколько способов использовать приложение в Кластерах больших данных SQL Server. Вы можете выполнить команду azdata app run. В этом разделе показано, как использовать общие средства разработчика, такие как Postman, для выполнения приложения.
Вы можете открыть URL-адрес для swagger
, возвращенный при выполнении azdata app describe --name [appname] --version [version]
в браузере, который должен быть похож на https://[IP]:[PORT]/app/[appname]/[version]/swagger.json
.
Примечание.
Вам потребуется войти в систему с теми же учетными данными, которые использовались для azdata login
. В том же примере команда будет выглядеть следующим образом:
azdata app describe --name add-app --version v1
Содержимое swagger.json
можно вставить в редактор Swagger. Вы увидите, что веб-служба предоставляет метод run
, пройдя через прокси приложения, который является веб-API, проверяющим подлинность пользователей, а затем направляющим запросы в приложения. Обратите внимание на базовый URL-адрес, отображаемый сверху. Вы можете использовать любое средство для вызова метода run
(https://[IP]:30778/api/app/[appname]/[version]/run
), передав параметры в текст запроса POST в виде JSON.
В этом примере мы будем использовать Postman. Перед вызовом нужно задать для Authorization
значение Bearer Token
и вставить полученный ранее маркер. Этим вы зададите заголовок своего запроса. См. снимок экрана ниже.
Затем в тексте запросов передайте параметры в приложение, которое вы вызываете, и присвойте content-type
значение application/json
.
При отправке запроса вы получите те же выходные данные, что и при запуске приложения с помощью azdata app run
.
Вы успешно вызвали приложение через веб-службу. Интегрировать эту веб-службы в свое приложение можно аналогичным образом.
Следующие шаги
Чтобы получить дополнительные сведения, см. статью Мониторинг приложений в кластерах больших данных. Дополнительные примеры можно просмотреть в наборе примеров развертывания приложений.
Дополнительные сведения о Кластеры больших данных SQL Server см. в статье "Что такое SQL Server 2019 Кластеры больших данных".
Кері байланыс
https://aka.ms/ContentUserFeedback.
Жақында қолжетімді болады: 2024 жыл бойы біз GitHub Issues жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру