Canvas Data Services ofrece dos opciones para la entrega de datos, ambas implementadas para recibir el mismo conjunto de eventos en vivo de Canvas: un punto final HTTPS y una cola AWS SQS. Tanto HTTPS como AWS SQS pueden ejecutarse simultáneamente.
Este artículo explica cómo configurar y probar la entrega HTTPS en Canvas Live Events. Para obtener más información sobre la entrega SQS, consulte nuestra guía sobre cómo crear una cola SQS en Amazon Web Services para recibir datos de Live Events desde Canvas .
Notas:
- Los datos de eventos en directo se procesan en la misma región que la instancia de Canvas desde la que se emiten.
- Los servicios de datos y los eventos en directo solo funcionan en entornos de producción y beta.
Detalles de configuración
Puedes implementar una función de Google Cloud para recibir eventos de Canvas y almacenarlos en un bucket de Google Cloud Storage.
Para procesar los mensajes de eventos en vivo de Canvas entrantes a través del punto final HTTPS, se requieren los siguientes pasos:
- Las cargas útiles JWT firmadas deben estar configuradas en Activado.
- Una vez recibido por la función de Google Cloud, el mensaje del evento debe decodificarse mediante RS256.
- Una vez decodificada, la firma JWT contendrá una propiedad `kid` . Esta propiedad debe compararse con uno de los valores `kid` obtenidos de esta URL pública: https://8axpcl50e4.execute-api.us-east-1.amazonaws.com/main/jwks
- Transforma la carga útil y almacena el evento resultante. En otras palabras, no almacenes mensajes firmados y codificados durante demasiado tiempo, ya que los valores de Kid caducarán con el tiempo. AWS rota las claves una vez al mes, el día 30. El valor de Kid más reciente es el del medio.
Además, existen tres tipos de encabezados cuando Canvas genera un evento:
- Encabezado de solicitud: Este encabezado aparece cuando se activa un evento en Canvas (siempre que el evento se haya generado a partir de una solicitud). El sistema coloca los datos de la solicitud en un objeto de metadatos del evento (por ejemplo, método, ID de solicitud, URL de referencia).
- Encabezado de sobre de AWS: AWS agrega datos a un sobre de evento a medida que pasa entre servicios (por ejemplo, una marca de tiempo cuando un evento se entrega a SQS).
- Encabezado estándar JWT: El sistema agrega un encabezado estándar JWT al firmar cada evento.
Diferencia entre HTTPS y AWS SQS
Los eventos entregados a través del punto final HTTPS presentan algunas propiedades adicionales. Al recopilar eventos de AWS SQS mediante una función Lambda de AWS, es posible escribirlos en lotes, hasta 10 mensajes a la vez. Esto genera archivos con hasta 10 mensajes, en comparación con los archivos de eventos entregados a través del punto final HTTPS, que generan un archivo por evento. En otras palabras, para el mismo conjunto de eventos, la carpeta del punto final HTTPS contendrá 10 veces más archivos que la carpeta con los datos recuperados a través de la cola SQS.