Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
SE APLICA A: Developer | Básico | Estándar | Premium
En este artículo se describe cómo enviar mensajes de API Management a Azure Service Bus mediante la integración basada en directivas. Use API Management para proporcionar una manera segura y escalable de enviar mensajes a Service Bus.
Azure Service Bus es un servicio de mensajería empresarial totalmente administrado diseñado para desacoplar aplicaciones y servicios, lo que permite la mensajería en la nube confiable entre sistemas distribuidos. Admite AMQP (Protocolo Avanzado de Enrutamiento de Mensajes) para permitir que los sistemas envíen mensajes a colas de mensajes para comunicación uno a uno y temas para los patrones de publicación/suscripción. Service Bus es ideal para escenarios que requieren operaciones asincrónicas, nivelación de carga o integración en entornos de nube híbrida. Para más información, consulte la documentación de Azure Service Bus.
Con la integración basada en directivas, API Management proporciona:
- Protección de la mensajería basada en REST para clientes externos: los sistemas externos y las aplicaciones móviles que carecen de compatibilidad nativa con AMQP pueden enviar mensajes a Service Bus mediante api HTTP/REST estándar a través de API Management. Este enfoque simplifica la integración y mejora la seguridad al eliminar la necesidad de intermediarios personalizados.
- Integraciones de terceros reguladas : las empresas pueden exponer puntos de conexión de Service Bus a través de API Management con autenticación de identidad administrada integrada, lo que permite patrones de mensajería seguros y observables para asociados y aplicaciones de terceros.
- Modelo de disparar y olvidar: no se requiere ningún otro servicio de back-end para enviar mensajes a Service Bus, lo que permite arquitecturas más sencillas y una sobrecarga operativa reducida.
Nota:
- La integración de API Management con Service Bus está actualmente en versión preliminar.
- Solo se admite el envío de mensajes a Service Bus.
Nota:
Actualmente, esta característica no está disponible en áreas de trabajo.
Prerrequisitos
Una instancia del servicio API Management. Si no tiene una, consulte Creación de una instancia del servicio API Management.
Una API de gestión que se usa para enviar mensajes a Service Bus.
Una cola o un tema en un espacio de nombres de Azure Service Bus para recibir mensajes. Para ver los pasos detallados, consulte uno de los siguientes pasos:
- Creación de un espacio de nombres de Service Bus y una cola
- Crear un tema de Service Bus y suscripciones al tema
Nota:
- Si desea usar temas y suscripciones, elija el nivel Estándar o Premium de Service Bus.
- El recurso de Service Bus puede estar en una suscripción diferente o incluso en un inquilino diferente al recurso de API Management.
Permisos para asignar roles a una identidad administrada.
Configuración del acceso al bus de servicio
Para enviar mensajes al bus de servicio, debe configurar una identidad administrada para la instancia de API Management:
Habilite una identidad administrada asignada por el sistema o asignada por el usuario para API Management en la instancia de API Management.
- Si habilita una identidad administrada asignada por el usuario, anote el identificador de cliente de la identidad.
Asigne la identidad al rol Remitente de datos de Azure Service Bus, limitado al ámbito del Service Bus. Para asignar el rol, use Azure Portal u otras herramientas de Azure.
Configuración de la directiva send-service-bus-message
Configure la directiva send-service-bus-message para enviar mensajes a la cola o al tema deseado.
Por ejemplo, use la directiva send-service-bus-message en la sección de directivas de entrada para enviar el cuerpo de una solicitud de API cuando la puerta de enlace la recibe.
En Azure Portal, vaya a la instancia de API Management.
En el menú de la izquierda, seleccione API y, a continuación, seleccione la API en la que desea agregar la directiva.
Seleccione Todas las operaciones.
En la parte superior de la pantalla, seleccione la pestaña Diseño .
En la ventana Procesamiento de entrada o Procesamiento saliente , seleccione el
</>icono (editor de código). Para obtener más información, vea Cómo establecer o editar directivas.Coloque el cursor en la sección de directiva
inboundooutbound.Agregue la
send-service-bus-messagedirectiva a la configuración de directiva y, a continuación, configure los atributos y los elementos según sea necesario.Por ejemplo, envíe el cuerpo de la solicitud como mensaje:
<send-service-bus-message queue-name="my-queue"> <payload>@(context.Request.Body.As<string>())</payload> </send-service-bus-message>Puede usar cualquier expresión que devuelva una cadena como valor para el
payloadelemento.Seleccione Guardar para guardar la configuración de directiva actualizada. En cuanto la guarde, la directiva estará activa y los mensajes se enviarán al bus de servicio designado.