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 herramientas uniformes y formas estándar de enrutamiento y control de eventos.

En la tabla siguiente se muestra la compatibilidad actual con la especificación CloudEvents:

Modo de contenido de CloudEvents ¿Compatible?
JSON estructurado
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:

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