Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Базовая версия 2 | Стандартный | Стандартная версия 2 | Премиум | Премиум версия 2
С помощью решения API WebSocket службы "Управление API Azure" издатели API могут быстро добавить API WebSocket в службу управления API с помощью портала Azure, Azure CLI, Azure PowerShell и других средств Azure.
API WebSocket можно защитить, применяя политики управления доступом управления API на начальном этапе рукопожатия. Вы также можете протестировать API WebSocket с помощью консоли тестирования API на портале Azure и на портале разработчика. На основе существующих возможностей наблюдения Управление API предоставляет метрики и журналы для мониторинга и устранения неполадок с API WebSocket.
В этой статье вы узнаете, как:
- Поймите транзитный поток WebSocket.
- Добавьте WebSocket API в экземпляр службы управления API.
- Тестирование API WebSocket.
- Просмотр метрик и журналов для API WebSocket.
- Узнайте ограничения API WebSocket.
Предварительные требования
- Создание экземпляра управления API
- A WebSocket API
- Azure CLI
Транзитный сокет WebSocket
Управление API поддерживает транзитный сокет WebSocket.
Во время сквозной передачи WebSocket клиентское приложение устанавливает соединение WebSocket со шлюзом управления API, который затем устанавливает соединение с соответствующими бэкэнд-сервисами. Управление API выступает как прокси-сервер для сообщений между клиентом и сервером WebSocket.
- Клиентское приложение отправляет запрос на установление соединения WebSocket шлюзу, вызывая операцию onHandshake.
- Шлюз Управления API применяет настроенные политики и отправляет запросы подтверждения WebSocket к соответствующему серверному сервису.
- Серверная служба обновляет соединение до WebSocket.
- Шлюз обновляет соответствующее подключение к WebSocket.
- После установки пары подключений API Management обеспечивает двустороннюю передачу сообщений между клиентским приложением и серверной частью системы.
- Клиентское приложение отправляет сообщение шлюзу.
- Шлюз перенаправляет сообщение в серверную службу.
- Серверная служба отправляет сообщение шлюзу.
- Шлюз перенаправит сообщение клиентскому приложению.
- При отключении обеих сторон Управление API завершает соответствующее подключение.
Примечание.
Подключения от клиента к бекенду состоят из сопоставлений "один к одному". Один и тот же сеанс WebSocket не может быть распределен по нескольким серверным системам.
Операция «onHandshake»
Согласно протоколу WebSocket, когда клиентское приложение пытается установить подключение WebSocket с серверной службой, оно сначала отправляет запрос рукопожатия для открытия.
Каждый API WebSocket в службе управления API имеет операцию onHandshake . onHandshake — это неизменяемая, неудаляемая, автоматически созданная системная операция. Операция onHandshake позволяет издателям API перехватывать упомянутые запросы на подтверждение и применять к ним политики Управления API.
Добавьте API WebSocket
На портале Azure перейдите к экземпляру службы управления API.
В меню боковой панели выберите API>+ Добавить API.
В разделе "Определение нового API" выберите плитку WebSocket .
В открывшемся диалоговом окне выберите Полный и заполните обязательные поля формы.
Поле Описание: Показать имя Отображаемое имя вашего API WebSocket. Имя. Имя API WebSocket в необработанном виде. Оно заполняется автоматически при вводе отображаемого имени. WebSocket адрес Базовый URL с именем вашего WebSocket. Например: ws://example.com/имя_вашего_сокета Схема URL-адреса Примите значение по умолчанию. Суффикс URL-адреса API Добавьте суффикс URL-адреса для идентификации этого API в данном экземпляре Управления API. Он должен быть уникальным в данной системе управления API. Продукты Сопоставьте API WebSocket с определенным продуктом, чтобы опубликовать его. Шлюзы Сопоставьте API WebSocket с существующими шлюзами. Локальные шлюзы доступны только на уровнях "Разработчик" и "Премиум". Нажмите кнопку "Создать".
Тестирование API WebSocket
Перейдите к API WebSocket.
В API WebSocket выберите операцию onHandshake.
Откройте вкладку Тестирование, чтобы перейти к консоли тестирования.
При необходимости укажите параметры строки запроса, необходимые для рукопожатия WebSocket.
Нажмите Подключиться.
Просмотрите состояние подключения в разделе Вывод.
Введите значение в Payload.
Выберите Отправить.
Просмотрите полученные сообщения в разделе Вывод.
Повторите предыдущие шаги, чтобы проверить различные нагрузки.
После завершения тестирования щелкните Отключиться.
Просмотр метрик и журналов
Используйте стандартные функции управления API и Azure Monitor для monitor API WebSocket:
- Просмотр метрик API в Azure Monitor
- При необходимости включите параметры диагностики для сбора и просмотра журналов шлюза управления API, включая операции API WebSocket или журналы подключений WebSocket.
Например, на следующем снимке экрана показаны последние ответы API WebSocket с кодом 101 из таблицы ApiManagementGatewayLogs. Эти результаты указывают на успешное переключение запросов с протокола TCP на протокол WebSocket.
Ограничения
Ниже приведены текущие ограничения в поддержке WebSocket в управлении API.
- API WebSocket пока не поддерживаются на уровне потребления.
- API WebSocket поддерживают следующие допустимые типы буферов для сообщений: Close, BinaryFragment, BinaryMessage, UTF8Fragment и UTF8Message.
- В настоящее время политика установки заголовков не поддерживает изменение некоторых известных заголовков, включая заголовки
Host, в запросах onHandshake. - Во время выполнения рукопожатия TLS с серверной частью WebSocket, служба управления API проверяет, что сертификат сервера является доверенным и его субъектное имя соответствует имени хоста. В интерфейсах API HTTP служба Управление API проверяет, является ли сертификат доверенным, но не проверяет, что имя узла и имя субъекта совпадают.
- Подключения WebSocket нельзя распределить по нескольким серверным узлам или сбалансировать нагрузку между ними, так как после установки каждое подключение поддерживается в формате "один-к-одному" между клиентом и сервером.
Для ограничения подключений WebSocket см. ограничения управления API.
Неподдерживаемые политики
Следующие политики не поддерживаются и не могут применяться к операции onHandshake:
- Макет ответа
- Получение из кэша
- Сохранение в кэше
- Разрешение кросс-доменных вызовов
- CORS (Совместное использование ресурсов разных источников)
- JSONP
- Установка метода запроса
- Установить содержание
- Преобразование XML в JSON
- Преобразование JSON в XML
- Преобразование XML с помощью XSLT
- Проверка содержимого
- Проверка параметров
- Проверка заголовков
- Проверка кода состояния
Примечание.
Если вы применили политики на более высоких уровнях (например, глобальном или уровне продукта), и они наследуются API WebSocket посредством политики, они не применяются во время выполнения.
Связанный контент
- Ограничения импорта API
- Импорт спецификации OpenAPI
- Импортируйте SOAP API
- импортируйте API SOAP и преобразуйте его в REST
- Импорт API Службы приложений
- Импорт API приложения-контейнера
- Импортируйте API WebSocket
- Импортируйте API GraphQL
- Импортируйте схему GraphQL и настройте разрешители полей
- Импорт API приложения-функции
- Импорт API приложения логики
- Импорт службы «Service Fabric»
- Импорт API Microsoft Foundry
- Импорт API Azure OpenAI
- Импорт API модели LLM
- Импортировать API OData
- Экспорт REST API в качестве сервера MCP
- Предоставление существующего сервера MCP
- Импорт API агента A2A
- Импорт метаданных SAP OData
- Импортируйте gRPC API
- Изменение API