УСПОКОИТЕЛЬНЫЙ API

УСПОКОИТЕЛЬНЫЙ API использует модель ответа запроса Протокола передачи гипертекста (HTTP) для связи с MATLAB® Production Server™. Эта модель включает методы запроса, коды ответа, заголовки сообщения и тексты сообщений. УСПОКОИТЕЛЬНЫЙ API имеет следующие характеристики:

  • Методы HTTP — POST, GET и DELETE — формируют первичный режим из связи между клиент-сервером.

  • Уникальные Унифицированные идентификаторы ресурса (URIs) идентифицируют ресурсы, которые создает сервер.

  • Обменивайтесь сообщениями заголовки передают метаданные, такие как Тип контента запроса.

    • API поддерживает application/json как Content-Type HTTP заголовок.

    • УСПОКОИТЕЛЬНЫЙ API для выполнения функции MATLAB также поддерживает application/x-google-protobuf как Content-Type HTTP через клиентские API.NET Java®and только.

  • Текст сообщения запроса содержит информацию, которая будет отправлена в сервер.

    • Если вы используете JSON в качестве формата сериализации данных, входные параметры к функции MATLAB, содержавшей в развернутом архиве, представляются в JSON и инкапсулируются в теле сообщения.

    • Если вы используете буферы протокола (protobuf) для сериализации данных, клиентские библиотеки Java и.NET обеспечивают классы помощника, чтобы внутренне создать сообщения protobuf на основе первичного формата, и возвращает соответствующий массив байтов. Используйте этот массив байтов в тексте сообщения запроса.

  • Текст сообщения ответа содержит информацию о запросе, таком как состояние или результаты.

    Если вы используете protobuf для сериализации данных, клиентские библиотеки Java и.NET предоставляют методы и классы, чтобы десериализовать protobuf ответы.

  • API поддерживает и синхронное и асинхронные режимы сервера.

Примечание

Примеры и графика, которая следует за использованием JSON как формат сериализации данных.

УСПОКОИТЕЛЬНЫЙ API для выполнения функции MATLAB

ВводЦель

Синхронное выполнение (MATLAB Production Server)

Выполните синхронные запросы к серверу

Асинхронное выполнение (MATLAB Production Server)

Выполните асинхронные запросы к серверу

УСПОКОИТЕЛЬНЫЙ API для открытия сервера и диагностики

ВводЦель

Сервис открытия (MATLAB Production Server)

Узнайте функции MATLAB, развернутые на сервере

Медицинский осмотр (MATLAB Production Server)

Проверяйте здоровье сервера

Синхронное выполнение

В синхронном режиме, после того, как клиент отправляет запрос, сервер блокирует все дальнейшие запросы, пока это не завершило обработку исходного запроса. После того, как обработка завершена, сервер автоматически возвращает ответ клиенту.

УСПОКОИТЕЛЬНЫЕ вызовы API синхронного режима

ВызватьЦель
POST синхронный запрос (MATLAB Production Server)

Выполните синхронный запрос к серверу и ожидайте ответа

Следующая диаграмма иллюстрирует, как УСПОКОИТЕЛЬНЫЙ API работает в синхронном режиме.

When the server receives a request in synchronous mode, it blocks all other requests till it finishes processing the current request.

Пример: синхронное выполнение магического квадрата Используя УСПОКОИТЕЛЬНЫЙ API и JSON

В этом примере показано, как использовать УСПОКОИТЕЛЬНЫЙ API и JSON путем обеспечения двух отдельных реализаций — одно использование JavaScript® и другое использование Python® . Когда вы выполняете этот пример, сервер возвращает список 25 разделенных от запятой значений. Этими значениями является выход развернутой функции MATLAB mymagic, представленный в упорядоченном по столбцам формате. Код MATLAB для mymagic функция следует.

function out = mymagic(in)
out = magic(in);

Для этого примера, чтобы запуститься, экземпляр MATLAB Production Server, содержащий развернутую функцию MATLAB mymagic потребности запуститься. Для получения дополнительной информации о том, как создать развертываемый архив, смотрите, Создают Развертываемый Архив для MATLAB Production Server. Для получения дополнительной информации о подготовке сервера смотрите, Создают Экземпляр Сервера (MATLAB Production Server).

Реализация JavaScript

С реализацией JavaScript УСПОКОИТЕЛЬНОГО API вы включаете скрипт в <script> </script> теги страницы HTML. Когда вы открываете эту страницу HTML в веб-браузере, сервер возвращает значения mymagic функция. Обратите внимание на то, что сервер должен иметь CORS позволенный для кода JavaScript работать. Для получения дополнительной информации о том, как включить CORS, смотрите cors-allowed-origins (MATLAB Production Server).

Код:

 restApiSyncMagicJavaScript.html

Реализация Python

Этот пример использует Python 2.x. Если вы используете Python 3.x, необходимо изменить некоторые фрагменты кода.

Код:

 restApiSyncMagicPython.py

Чтобы изучить, как развернуть функцию MATLAB на MATLAB Production Server и вызвать его с помощью УСПОКОИТЕЛЬНОГО API и JSON, смотрите, что Веб-Инструмент Использует УСПОКОИТЕЛЬНЫЙ API, JSON и JavaScript.

Асинхронное выполнение

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

УСПОКОИТЕЛЬНЫЕ вызовы API асинхронного режима

ВызватьЦель
POST асинхронный запрос (MATLAB Production Server)

Выполните асинхронный запрос к серверу

Представление GET асинхронного запроса (MATLAB Production Server)

Просмотрите, как представлен асинхронный запрос, выполненный к серверу

Набор GET запросов (MATLAB Production Server)

Просмотрите набор запросов

ПОЛУЧИТЕ информацию состояния (MATLAB Production Server)

Получите информацию состояния запроса

Результат GET запроса (MATLAB Production Server)

Получите результаты запроса

Запрос отмены POST (MATLAB Production Server)

Отмените запрос

Запрос DELETE (MATLAB Production Server)

Удалите запрос

Следующая диаграмма иллюстрирует, как УСПОКОИТЕЛЬНЫЙ API работает в асинхронном режиме. Диаграмма не покрывает все УСПОКОИТЕЛЬНЫЕ вызовы API. Для полного списка вызовов см. предыдущую таблицу.

Asynchronous request processing.

Пример: асинхронное выполнение магического квадрата Используя УСПОКОИТЕЛЬНЫЙ API и JSON

В этом примере показано, как использовать УСПОКОИТЕЛЬНЫЙ API и JSON для асинхронного выполнения с помощью JavaScript. Когда вы выполняете этот пример, сервер возвращает список 100 разделенных от запятой значений. Этими значениями является выход развернутой функции MATLAB mymagic, представленный в упорядоченном по столбцам формате. Код MATLAB для mymagic функция следует.

function out = mymagic(in)
out = magic(in);

Для этого примера, чтобы запуститься, экземпляр MATLAB Production Server, содержащий развернутую функцию MATLAB mymagic потребности запуститься. Для получения дополнительной информации о том, как создать развертываемый архив, смотрите, Создают Развертываемый Архив для MATLAB Production Server. Для получения дополнительной информации о подготовке сервера смотрите, Создают Экземпляр Сервера (MATLAB Production Server).

Код:

 restApiAsyncMagicJavaScript.html

Управляйте Cookie HTTP

Развертывание MATLAB Production Server на Azure® предоставляет конечной точке HTTPS URL, чтобы вызвать функции MATLAB, развернутые на сервере. Шлюз приложений Azure обеспечивает основанное на cookie сродство сеанса, где это использует cookie, чтобы сохранить сеанс пользователя на том же сервере. При получении запроса из клиентской программы шлюз приложений устанавливает Set-Cookie Заголовок ответа HTTP с информацией о виртуальной машине (VM) сервера это обрабатывает запрос.

Асинхронное выполнение запроса

Клиентская программа, которая использует асинхронные просьбы выполнить функцию MATLAB, развернутую на сервере, должна установить Cookie Заголовок запроса HTTP со значением Set-Cookie заголовок для всех последующих запросов. Это гарантирует тому же самому серверу VM, который обрабатывает первые процессы запроса все последующие запросы о том сеансе.

Синхронное выполнение запроса

Клиентская программа, которая использует синхронные просьбы выполнить функцию MATLAB, развернутую на сервере, не должна устанавливать Cookie Заголовок запроса HTTP со значением Set-Cookie заголовок, и должен очистить значение Cookie заголовок, если это было ранее установлено. Это гарантирует, что синхронные запросы являются сбалансированной загрузкой и тот же сервер, VM не обрабатывает их.

Для получения дополнительной информации об архитектуре и ресурсах для MATLAB Production Server на Azure, смотрите Архитектуру и Ресурсы на Azure (MATLAB Production Server) и Архитектура и Ресурсы на Azure (MATLAB Production Server).

Сервис открытия

Используйте сервис открытия узнать о функциях MATLAB, что вы развертываетесь к серверу. Сервис открытия возвращает информацию о развернутых функциях MATLAB как объект JSON. Объект является многоуровневой вложенной структурой, и на высоком уровне отображает версию схемы открытия и список развернутых архивов. Каждый архив содержит информацию о развернутых функциях MATLAB и их функциональных подписях. Для получения дополнительной информации об объекте JSON, см. Объект Ответа JSON.

Чтобы использовать сервис открытия, необходимо включить сервис открытия на сервер путем установки --enable-discovery свойство в main_config конфигурационный файл сервера.

Чтобы получить полезную информацию при использовании сервиса открытия, необходимо включать файл JSON, содержащий функциональные подписи функций MATLAB, которые вы хотите развернуть при создании развертываемого архива. Для получения информации о том, как создать развертываемый архив, смотрите, Создают Развертываемый Архив для MATLAB Production Server. Для получения информации о создании файла JSON, содержащего функциональные подписи, смотрите Подписи функции MATLAB в JSON.

Вызовите сервис открытия с помощью метода GET HTTP.

УСПОКОИТЕЛЬНЫЕ вызовы API сервиса открытия

ВызватьЦель
Информация для поиска GET

Узнайте функции MATLAB, развернутые на сервере

Ответ с сервера является объектом JSON.

Example of a response to the GET discovery information request.

Объект ответа JSON

 Object {;}

Архивы

 archives

Определения типов

 typedefs

Функции

 functions

Медицинский осмотр

Используйте API медицинский осмотра, чтобы определить, имеет ли сервер допустимую лицензию и может обработать запросы HTTP. Медицинский осмотр классифицирует сервер как здоровый или вредный для здоровья в зависимости от того, имеет ли сервер допустимую лицензию и может связаться с сетевым менеджером лицензий. Для получения дополнительной информации о лицензировании смотрите, Управляют Лицензиями на MATLAB Production Server (MATLAB Production Server).

Здоровье сервераКод статуса ответа HTTPОписание
Здоровый
200 OK

Сервер здоров, когда это находится в одном из следующих состояний:

  • Сервер действует с допустимой лицензией. Сервер связывается с сетевым менеджером лицензий, и необходимое количество ключей лицензии проверяется.

  • Сервер потерял связь с сетевым менеджером лицензий, но сервер является все еще полностью операционным и останется операционным до конца льготного периода, как задано license-grace-period Свойство (MATLAB Production Server).

Вредный для здоровья
503 Health Check Failed
Сервер потерял связь с сетевым менеджером лицензий сроком на время, превысив льготный период. Обработка запросов была приостановлена, но сервер активно пытается восстановить связь с сетевым менеджером лицензий. Обработка запросов возобновляется, может ли разъединение восстановить связь с менеджером лицензий.

Если медицинский осмотр успешен, ответ с сервера является объектом JSON, указывающим, что сервер здоров.

{
  "status": "ok"
}

Не пройдено медицинский осмотр указывает, что сервер недоступен, чтобы обработать запросы HTTP, но не предоставляет дополнительную информацию о причине отказа в органе по ответу. Администраторы сервера могут использовать mps-status (MATLAB Production Server), чтобы получить подробную информацию о состоянии сервера. Необходимо быть в той же системе как сервер, чтобы запуститься mps-status.

УСПОКОИТЕЛЬНЫЙ вызов API медицинский осмотра

ВызватьЦель
Здоровье сервера GET (MATLAB Production Server)Получите информацию о полном рабочем состоянии сервера

Смотрите также

(MATLAB Production Server)

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте