Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un tema personalizado de Grid de Eventos es un punto final al que tus aplicaciones envían sus propios eventos, para que Grid de Eventos pueda enrutarlos a suscriptores interesados. Este artículo te muestra cómo publicar eventos en un tema personalizado usando claves de acceso, que autentican tus solicitudes sin necesidad de configurar Microsoft Entra ID. Obtienes el endpoint del tema y la clave de acceso, formateas una carga útil de evento, envías un evento de muestra y revisas la respuesta.
El Acuerdo de Nivel de Servicio (SLA) solo se aplica a publicaciones que coinciden con el formato esperado.
Prerequisites
- Un tema personalizado de Azure Event Grid. Para crear uno, consulta Enviar eventos personalizados a un punto final web usando el portal de Azure.
- CLI de Azure, Azure PowerShell o acceso al portal de Azure para recuperar el endpoint del tema y la clave de acceso.
- Una herramienta que puede enviar solicitudes HTTP POST, como
curl.
Nota:
La autenticación Microsoft Entra ofrece un mejor soporte de autenticación que la autenticación por clave de acceso o la autenticación de token de firma de acceso compartida (SAS). Al usar la autenticación Microsoft Entra, el proveedor de identidad de Microsoft Entra valida la identidad, por lo que no manejas las claves en tu código. También te beneficias de funciones de seguridad integradas en la Plataforma de identidad de Microsoft, como el Acceso Condicional, que ayudan a mejorar la seguridad de tu aplicación. Para más información, consulte el artículo sobre la autenticación de clientes de publicación mediante Microsoft Entra ID.
Obtención del punto de conexión del tema
Para publicar eventos en un tema personalizado, envía una solicitud HTTP POST usando el siguiente formato URI: https://<topic-endpoint>?api-version=2018-01-01. Por ejemplo, un URI válido es: https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01. Para obtener el endpoint de un tema personalizado, utiliza el portal de Azure, CLI de Azure o Azure PowerShell.
Encuentra el punto final del tema en la pestaña Resumen de la página de Temas de la Cuadrícula de Eventos en el portal de Azure.
Obtención de la clave de acceso
En la solicitud, incluya un valor de encabezado denominado aeg-sas-key que contenga una clave para la autenticación. Por ejemplo, un valor de encabezado válido es aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx. Para obtener la clave de un tema personalizado, utiliza el portal de Azure, CLI de Azure o Azure PowerShell.
Para obtener la clave de acceso para el tema personalizado, selecciona la pestaña de claves de acceso en la página de Temas de la Cuadrícula de Eventos en el portal de Azure.
Dar formato a la carga útil del evento
Formatea cada evento como un objeto JSON. Los campos de nivel superior son los mismos que los eventos estándar definidos por recurso, y la data propiedad contiene las propiedades únicas de tu tema personalizado. Como editor, defines el contenido del data objeto. Para una descripción de cada propiedad, véase Azure Event Grid event schema.
[
{
"id": string,
"eventType": string,
"subject": string,
"eventTime": string-in-date-time-format,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string
}
]
Ten en cuenta estos límites de tamaño cuando construyas la carga útil:
- El array de eventos puede tener un tamaño total de hasta 1 MB.
- El tamaño máximo para un solo evento es de 1 MB. Los eventos de más de 64 KB conllevan cargos por bloques de 64 KB.
- Un lote puede contener un máximo de 5.000 eventos.
El siguiente ejemplo muestra una carga útil de evento válida:
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0"
}]
Envío de un evento de ejemplo
En esta sección se muestra cómo enviar un evento de ejemplo al tema personalizado.
En Azure Portal, inicie Cloud Shell.
En Cloud Shell, ejecute los comandos desde Azure PowerShell o la CLI de Azure en la sesión de Bash o PowerShell.
Revisión de la respuesta
Después de publicar en el endpoint del tema, recibes una respuesta. La respuesta es un código de respuesta HTTP estándar. Algunas respuestas comunes son:
| Resultado | Respuesta |
|---|---|
| Éxito | 200 Ok |
| Los datos del evento tienen un formato incorrecto | 400 - Solicitud incorrecta |
| Clave de acceso no válida | 401 No autorizado |
| Punto de conexión incorrecto | 404 No encontrado |
| La matriz o el evento superan los límites de tamaño | 413 Carga demasiado grande |
En caso de error, el cuerpo del mensaje utiliza el siguiente formato:
{
"error": {
"code": "<HTTP status code>",
"message": "<description>",
"details": [{
"code": "<HTTP status code>",
"message": "<description>"
}]
}
}
Contenido relacionado
- Supervisión de la entrega de mensajes de Event Grid: obtenga información sobre cómo realizar un seguimiento y solucionar problemas de entregas de eventos.
- Seguridad y autenticación de Event Grid: comprenda cómo proteger los eventos con claves de autenticación.
- Esquema de suscripción de Event Grid: guía paso a paso sobre la creación de una suscripción de Event Grid.