Canvas Data Services ofrece dos opciones para la entrega de datos, cada una implementada para recibir el mismo conjunto de eventos en vivo de Canvas: un punto de conexión HTTPS y una cola de 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. Obtenga más información sobre la entrega SQS .
Nota: Los datos de eventos en vivo se procesan en la misma región que la instancia de Canvas desde donde se emiten.
Detalles de configuración
Puede implementar una función de Google Cloud para recibir eventos de Canvas y almacenarlos en un depósito de Google Cloud Storage.
Se necesitan los siguientes pasos para procesar los mensajes entrantes de Canvas Live Event a través del punto final HTTPS:
- Las cargas útiles JWT firmadas deben estar configuradas como Activadas
- El mensaje de evento, una vez recibido por la función Google Cloud, debe decodificarse mediante RS256.
- Una vez decodificada, la firma JWT contendrá la 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
- Transforme la carga útil y almacene el evento resultante. En otras palabras, no almacene mensajes firmados y codificados durante demasiado tiempo, ya que los valores "kid" eventualmente expirarán. AWS rota las claves una vez al mes, el día 30. El "kid" más actual es el del medio.
Además, hay tres tipos de encabezados cuando Canvas genera un evento:
- Encabezado de la solicitud cuando se activa un evento en Canvas (suponiendo que el evento se generó a partir de la solicitud). Los datos de la solicitud se almacenan en un objeto de metadatos de evento, como método, ID de solicitud, URL de referencia, etc.
- AWS agrega datos adicionales a un sobre de evento cuando lo pasa de un servicio a otro (por ejemplo, marca de tiempo cuando el evento se entregó a SQS).
- Encabezado estándar JWT, estos datos se agregan cuando firmamos cada evento.
Diferencia entre HTTPS y AWS SQS
Los eventos entregados por el punto de enlace HTTPS tienen algunas propiedades adicionales. Cuando los eventos entregados por AWS SQS se recopilan mediante una función lambda de AWS, se pueden escribir en lotes (hasta 10 mensajes de evento a la vez). Esto genera archivos con hasta 10 mensajes de evento, a diferencia de los archivos para los eventos entregados a través del punto de enlace HTTPS, que generarían un archivo por evento. En otras palabras, para el mismo conjunto de eventos, la carpeta del punto de enlace HTTPS tendrá 10 veces más archivos que la carpeta con los datos recuperados mediante la cola de SQS.