Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
SE APLICA A: Desarrollador | Básico | Básico v2 | Estándar | Estándar v2 | Premium | Premium v2
Con la solución de API WebSocket de API Management, los publicadores de API pueden agregar rápidamente una API de WebSocket en API Management a través de Azure Portal, la CLI de Azure, Azure PowerShell y otras herramientas de Azure.
Las APIs de WebSocket se pueden proteger aplicando las directivas de control de acceso de API Management a la operación de protocolo de enlace inicial. También puede probar las API de WebSocket mediante las consolas de prueba de las API en Azure Portal y el portal para desarrolladores. A través de las funcionalidades de observabilidad existentes, API Management proporciona métricas y registros para supervisar y solucionar problemas de las API de WebSocket.
En este artículo, usted podrá:
- Comprenderá el flujo de tráfico de Websocket.
- Agrega una API de WebSocket a tu instancia de administración de API.
- Prueba tu API de WebSocket.
- Visualizará las métricas y los registros de la API de WebSocket.
- Conocerá las limitaciones de la API de WebSocket.
Requisitos previos
- Una instancia existente de API Management. Cree uno si aún no lo ha hecho.
- Una API de WebSocket.
- CLI de Azure
Passthrough de WebSocket
API Management admite el paso directo de WebSocket.
Durante el passthrough de WebSocket, la aplicación cliente establece una conexión de WebSocket con la puerta de enlace de API Management, que a su vez establece una conexión con los servicios de fondo correspondientes. A continuación, API Management envía mediante proxy los mensajes entre cliente y servidor de WebSocket.
- La aplicación cliente envía una solicitud de enlace de WebSocket a la puerta de enlace, invocando la operación onHandshake.
- La gateway de gestión de API aplica las directivas configuradas y envía solicitudes de enlace de protocolo WebSocket al servicio backend correspondiente.
- El servicio back-end actualiza una conexión a WebSocket.
- La puerta de enlace actualiza la conexión correspondiente a WebSocket.
- Una vez establecido el par de conexiones, API Management se encarga de intercambiar mensajes entre la aplicación cliente y el servicio backend.
- La aplicación cliente envía un mensaje a la puerta de enlace.
- La puerta de enlace reenvía el mensaje al servicio back-end.
- El servicio back-end envía un mensaje a la puerta de enlace.
- La puerta de enlace reenvía el mensaje a la aplicación cliente.
- Cuando cualquier lado se desconecta, API Management finaliza la conexión correspondiente.
Nota:
Las conexiones del lado del cliente y del lado del servidor constan de una asignación uno a uno.
Operación onHandshake
Según el protocolo WebSocket, cuando una aplicación cliente intenta establecer una conexión WebSocket con un servicio backend, primero enviará una solicitud de inicio de comunicación. Cada API de WebSocket en API Management tiene una operación onHandshake. La operación onHandshake es una operación del sistema inmutable, que no se puede eliminar y que se crea automáticamente. La operación onHandshake permite a los publicadores de API interceptar estas solicitudes de handshake y aplicarles las directivas de API Management.
Adición de una API de WebSocket
-
- Vaya a la instancia de API Management en Azure Portal.
En el menú izquierdo, seleccione API>+Agregar API.
En Definir una nueva API, seleccione WebSocket.
En el cuadro de diálogo, seleccione Completo y rellene los campos necesarios del formulario.
Campo Descripción Nombre para mostrar Nombre por el que se muestra la API de WebSocket. Nombre Nombre crudo de la API de WebSockets. Se rellena automáticamente a medida que escribe el nombre de visualización. URL de WebSocket Dirección URL base con el nombre de tu WebSocket. Por ejemplo: ws://example.com/your-socket-name Esquema URL Acepte el valor predeterminado. Sufijo de URL de API Agregue un sufijo de URL para identificar esta API específica en esta instancia de API Management. Tiene que ser único en esta instancia de API Management. Productos Asocie la API de WebSocket a un producto para publicarla. Puertas de enlace Asocie la API de WebSocket a las puertas de enlace existentes. Haga clic en Crear.
Prueba de la API de WebSocket
Navegue hasta la API de WebSocket.
En la API de WebSocket, seleccione la operación onHandshake.
Seleccione la pestaña Prueba para acceder a la consola Prueba.
De ser necesario, proporcione los parámetros de cadena de consulta requeridos para el protocolo de enlace WebSocket.
Haga clic en Conectar.
Vea el estado de la conexión en Salida.
Escriba el valor en Carga.
Haga clic en Enviar.
Vea los mensajes recibidos en Salida.
Repita los pasos anteriores para probar diferentes cargas.
Cuando se complete la prueba, seleccione Desconectar.
Visualización de métricas y registros
Use características estándar de API Management y Azure Monitor para supervisar las API de WebSocket:
- Visualización de métricas de API en Azure Monitor
- Opcionalmente, habilite la configuración de diagnóstico para recopilar y ver registros de puerta de enlace de API Management, que incluyen operaciones de API de WebSocket o registros de conexión de WebSocket.
Por ejemplo, en la siguiente captura de pantalla se muestran las respuestas recientes de la API de WebSocket con código
Limitaciones
A continuación se muestran las restricciones actuales de compatibilidad con WebSocket en API Management:
- Las API de WebSocket no se admiten aún en el nivel de consumo.
- Las API WebSocket admiten los siguientes tipos de búferes válidos para mensajes: Close, BinaryFragment, BinaryMessage, UTF8Fragment y UTF8Message.
- Actualmente, la política set-header no admite el cambio de ciertos encabezados bien conocidos, incluidos los encabezados
Host, en las solicitudes onHandshake. - Durante el handshake TLS con un backend WebSocket, la API Management valida que el certificado del servidor sea de confianza y que su nombre de sujeto coincida con el nombre del host. Con las API de HTTP, API Management valida que el certificado es de confianza, pero no valida que el nombre de host y el asunto coincidan.
Para conocer los límites de conexión de WebSocket, consulte límites de API Management.
Directivas no admitidas
Las siguientes directivas no son compatibles con la operación onHandshake y no se pueden aplicar a ella:
- Respuesta simulada
- Obtención desde memoria caché
- Almacenar en caché
- Permitir llamadas entre dominios
- CORS
- JSONP
- Establecimiento de método de solicitud
- Definir cuerpo
- Convertir XML a JSON
- Convertir JSON a XML
- Transformar XML mediante XSLT
- Validar contenido
- Validación de parámetros
- Validación de encabezados
- Validación de código de estado
Nota:
Si aplicó las directivas en ámbitos superiores (por ejemplo, a nivel global o de producto) y una API WebSocket las heredó mediante la directiva, se pasarán por alto automáticamente en tiempo de ejecución.
Contenido relacionado
- Limitaciones de importación de API
- Importación de una especificación de OpenAPI
- Importación de una API de SOAP
- Importar una API de SOAP y convertir en REST
- Importar una API de servicio de aplicaciones
- Importación de una API de aplicación de contenedor
- Importación de WebSocket API
- Importación de GraphQL API
- Importación de un esquema GraphQL y configuración de solucionadores de campos
- Importación de una API de aplicación de funciones
- Importación de una API de aplicación lógica
- Importación de un servicio Service Fabric
- Importación de una API de Microsoft Foundry
- Importación de una API de Azure OpenAI
- Importación de una API de LLM
- Importación de una API de OData
- Exportación de una API REST como servidor MCP
- Exposición de un servidor MCP existente
- Importación de una API de agente de A2A
- Importación de metadatos de SAP OData
- Importación de una API de gRPC
- Edición de una API