Entrega de inserción de Azure Event Grid: conceptos
En este artículo, se describen los conceptos principales de Event Grid relacionados con la entrega de inserciones.
Nota
Para ver los conceptos de Event Grid relacionados con el nuevo modelo de recursos que usa espacios de nombres, consulte este artículo de conceptos .
Eventos
Un evento es la cantidad mínima de información que describe completamente algo que se ha producido en un sistema. Todos los eventos tienen información común, como: source
del evento, time
en que el evento ha tenido lugar y un identificador único. Cada evento tiene además información específica que solo es relevante para el tipo de evento concreto. Por ejemplo, un evento sobre un nuevo archivo que se crea en Azure Storage contiene detalles sobre el archivo, como el valor lastTimeModified
. Un evento de Event Hubs tiene la URL
del archivo de captura. Un evento sobre un nuevo pedido en el microservicio Orders puede tener un atributo orderId
y un atributo URL
en la representación de estado del pedido.
CloudEvents
Event Grid usa la especificación CloudEvents 1.0 estándar abierta de CNCF mediante el enlace de protocolo HTTP con el formato JSON. CloudEvents es una especificación de eventos extensible con extensiones documentadas para requisitos específicos. Al usar Event Grid, CloudEvents es el formato de evento preferido debido a sus casos de uso bien documentados (modos para transferir eventos, formatos de eventos, etc.), extensibilidad y mejor interoperabilidad. CloudEvents mejora la interoperabilidad al proporcionar un formato de eventos común para la publicación y el consumo de eventos. Permite usar herramientas uniformes y formas estándar de enrutamiento y administración de eventos.
En la tabla siguiente se muestra la compatibilidad actual con la especificación CloudEvents:
Modo de contenido de CloudEvents | ¿Compatible? |
---|---|
JSON estructurado | Sí |
Binario | No |
El tamaño máximo permitido para un evento es de 1 MB. Los eventos de más de 64 KB se cobran en incrementos de 64 KB. Para obtener las propiedades que se envían en un evento, consulte el documento sobre el esquema CloudEvents.
Otros formatos
Event Grid también admite el formato de esquema propietario de Event Grid para los publicadores de eventos del sistema. Puede configurar Event Grid para entregar eventos con el formato CloudEvents.
Publicadores
Un publicador es la aplicación que envía eventos a Event Grid. Puede ser la misma aplicación donde se originaron los eventos, el origen del evento. Los servicios de Azure publican eventos en Event Grid para anunciar una incidencia en su servicio. Puede publicar eventos desde su propia aplicación. Las organizaciones que hospedan servicios fuera de Azure también pueden publicar eventos a través de Event Grid.
Orígenes de eventos
Un origen de evento es donde se produce el evento. Cada origen de evento está relacionado con uno o más tipos de eventos. Por ejemplo, Azure Storage es el origen de evento de los eventos creados por blob. IoT Hub es el origen de evento de los eventos creados por dispositivo. La aplicación es el origen de evento de los eventos personalizados que defina. Los orígenes de evento son responsables de enviar eventos a Event Grid.
Asociados
Un asociado es un tipo de publicador que envía eventos desde su sistema para que estén disponibles para los clientes de Azure. Normalmente, un asociado es un proveedor de SaaS o ERP que se integra con Azure Event Grid para ayudar a los clientes a obtener casos de uso controlados por eventos entre plataformas. Los asociados no solo pueden publicar eventos en Azure Event Grid, sino que también pueden recibir eventos de él. Estas funcionalidades se habilitan a través de la característica Eventos de asociados.
Temas
Un tema contiene eventos que se han publicado en Event Grid. Normalmente, se usa un recurso de tema para una colección de eventos relacionados. Para responder a determinados tipos de eventos, los suscriptores (un servicio de Azure u otra aplicación) deciden los temas a los que se suscriben. Hay varios tipos de temas: temas personalizados, temas del sistema y temas de asociados.
Temas personalizados
Los temas personalizados también son temas que se usan con las aplicaciones. Fueron el primer tipo de tema diseñado para crear integraciones controladas por eventos para aplicaciones personalizadas. Como recurso independiente, exponen su propio punto de conexión al que se publican los eventos.
Los temas personalizados admiten la entrega de inserción. Consulte cuándo usar la entrega de extracción o inserción para ayudarle a decidir si la entrega de inserción es el enfoque adecuado según sus requisitos. También puedes consultar el artículo Temas personalizados.
Temas del sistema
Los temas del sistema son temas integrados que proporcionan los servicios de Azure, como Azure Storage, Azure Event Hubs y Azure Service Bus. Puede crear temas del sistema en su suscripción de Azure y suscribirse a ellos. Para obtener más información, consulte Información general sobre los temas del sistema.
Temas de asociados
Los temas de asociados son un tipo de tema que se usa para suscribirse a eventos publicados por un asociado. La característica que habilita este tipo de integración se denomina Eventos de partners. A través de esa integración, obtendrá un tema de asociado en el que los eventos de un sistema asociado están disponibles. Una vez que tenga un tema de asociado, cree una suscripción de eventos como haría para cualquier otro tipo de tema.
Suscripciones a eventos
Nota
Para obtener información sobre las suscripciones de eventos en un tema de espacio de nombres, consulte este artículo de conceptos.
Las suscripciones le indican a Event Grid qué eventos de un tema les interesa recibir. Al crear una suscripción, proporciona un punto de conexión para controlar el evento. Los puntos de conexión pueden ser un webhook o un recurso de servicio de Azure. Puede filtrar los eventos que se envían a un punto de conexión. Puede filtrar por tipo de evento o por asunto de evento, por ejemplo. Para obtener más información, consulte Suscripciones de eventos y Esquema de CloudEvents. Las suscripciones de eventos para temas personalizados, del sistema y de asociados, así como de dominios, cuentan con las mismas propiedades de recursos.
Para obtener ejemplos de creación de suscripciones para temas personalizados, del sistema y de asociados, así como de dominios, consulte:
- Creación de un tema personalizado y suscripción a eventos con la CLI de Azure
- Ejemplos de Azure PowerShell para Event Grid
- Plantillas de Azure Resource Manager para Event Grid
Para obtener información sobre las suscripciones de Event Grid actuales, vea Consulta de suscripciones de Event Grid.
Caducidad de la suscripción de eventos
Puede establecer una hora de expiración para las suscripciones de eventos asociadas a temas personalizados, del sistema, de asociados y de dominio, así como a suscripciones de dominio. La suscripción de eventos expira automáticamente después de esa fecha. Establezca una fecha de expiración para las suscripciones de eventos que solamente son necesarias durante un tiempo limitado y de cuya limpieza no quiere preocuparse. Por ejemplo, es posible que, al crear una suscripción de eventos para probar un escenario, desee establecer una fecha de expiración.
Para ver un ejemplo acerca de cómo se establece una fecha de expiración, consulte Suscripción con filtros avanzados.
Controladores de eventos
Desde la perspectiva de Event Grid, un controlador de eventos es el lugar al que se envía el evento cuando se usa la entrega de inserción. El controlador realiza alguna acción adicional para procesar el evento. Al usar la entrega de inserción, Event Grid admite varios tipos de controlador. Puede usar un servicio de Azure admitido o su propio webhook como controlador. Según el tipo de controlador, Event Grid sigue distintos procedimientos para garantizar la entrega del evento. En el caso de los controladores de eventos de webhook HTTP, el evento se reintenta hasta que el controlador devuelve un código de estado de 200 – OK
. En Azure Storage Queue, los eventos se reintentan hasta que Queue service procesa correctamente la inserción de mensajes en la cola.
Para información sobre cómo entregar eventos a cualquiera de los controladores admitidos de Event Grid, consulte Event handlers in Azure Event Grid (Controladores de eventos en Azure Event Grid).
Seguridad
Event Grid proporciona seguridad para suscribirse a temas y al publicar eventos en temas. Para suscribirse, debe tener los permisos adecuados en el tema de Event Grid. Si usa la entrega de inserción, el controlador de eventos es un servicio de Azure y se usa una identidad administrada para autenticar Event Grid, la identidad administrada debe tener un rol de RBAC adecuado. Por ejemplo, si envía eventos a Event Hubs, la identidad administrada usada en la suscripción de eventos debe ser miembro del rol Remitente de datos de Event Hubs. Para publicar, debe tener un token de SAS o autenticación de clave para el tema. Para más información, vea Event Grid security and authentication (Seguridad y autenticación de Event Grid).
Entrega de eventos
Si Event Grid no puede confirmar que un evento se ha recibido en el punto de conexión del suscriptor cuando se usa la entrega de inserción, vuelve a entregarlo. Para más información, vea Entrega y reintento de entrega de mensajes de Event Grid.
Lotes
Cuando se usa un tema personalizado, los eventos siempre se deben publicar en una matriz. Puede ser un lote de uno para escenarios de bajo rendimiento.
Definiciones de tipo de evento insertado
Si es un asociado, puede definir los tipos de eventos que está poniendo a disposición de los clientes al crear un canal. Con las definiciones de tipo de evento insertados, los suscriptores pueden filtrar fácilmente eventos según su tipo de evento al configurar una suscripción de eventos.
Zonas de disponibilidad
Las zonas de disponibilidad de Azure son ubicaciones separadas físicamente dentro de cada región de Azure y toleran los errores locales. Están conectados por una red de alto rendimiento con una latencia de ida y vuelta de menos de 2 milisegundos. Cada zona de disponibilidad consta de uno o varios centros de datos equipados con una infraestructura de alimentación, refrigeración y redes independientes. Si una zona se ve afectada, los servicios regionales, la capacidad y la alta disponibilidad se mantienen en las dos zonas restantes. Para más información sobre Availability Zones, consulte Regiones y zonas de disponibilidad.
Pasos siguientes
- Para obtener una introducción a Event Grid, vea Acerca de Event Grid.
- Para comenzar a usar temas personalizados, consulte Creación y enrutamiento de eventos personalizados con Azure Event Grid.