Hur konfigurerar jag och testar Canvas-livehändelser med HTTPS-leverans?

Canvas Data-tjänster tillhandahåller två val för dataleverans, vart och ett distribuerade för att ta emot samma uppsättning livehändelser från Canvas: HTTPS-slutpunkt och AWS SQS-kö. Både HTTPS- och AWS SQS kan köras samtidigt.

Dessa artiklar tar upp hur du konfigurerar och testar HTTPS-leverans i Canvas-livehändelser. Läs mer om SQS-leverans.

Obs! Data från livehändelser behandlas i samma region som Canvas-instansen de skickas från.

Konfigurationsinformation

Du kan implementera en Google Cloud-funktion som tar emot händelser från Canvas och lagrar dem i en Google Cloud-lagringshink.

Följande steg krävs för att behandla inkommande meddelanden om Canvas-livehändelser genom HTTPS-slutpunkten:

  1. Underskrivna JWT-nyttolaster bör ställas in som På.
  2. När händelsemeddelandet tas emot av Google Cloud-funktionen bör det avkodas med RS256.  
  3. Efter avkodningen innehåller JWT-signaturen egenskapen underordnad. Denna egenskap ska matchas mot en av de underordnade värdena som hämtas från denna offentliga URL: https://8axpcl50e4.execute-api.us-east-1.amazonaws.com/main/jwks
  4. Omvandla nyttolasten och lagra den resulterande händelsen. Lagra inte, med andra ord, signerade och krypterade meddelande för länge, eftersom underordnade värden upphör att gälla med tiden. AWS roterar nycklarna en gång i månaden den 30:e. Det mest aktuella underordnade värdet är det i mitten.

Händelserubriker

Det finns dessutom tre typer av rubriker när Canvas genererar en händelse:

  1. Begäranderubriker när händelsen utlöses i Canvas (förutsatt att händelsen genererades baserat på begäran). Data från begärandet placeras i ett metadataobjekt för händelsen, dvs. metod, begärande-id, referens-URI, mm.
  2. AWS lägger till ytterligare data i ett händelsekuvert när det överförs från en tjänst till en annan. (dvs. tidsstämpel om händelsen levererades till SQS).
  3. JWT-standardrubrik, dessa data läggs till när vi signerar varje händelse.

Skillnad mellan HTTPS och AWS SQS

HTTPS-slutpunktslevererade händelser har några ytterligare egenskaper. När AWS SQS-levererade händelser samlas in via en AWS-lambdafunktion finns det möjlighet att skriva händelserna i batcher – upp till 10 meddelandehändelser samtidigt. Detta resulterar i filer med upp till 10 händelsemeddelanden, jämfört med filerna för händelser som levererats via HTTPS-slutpunkten som resulterar i en fil per händelse. Med andra ord, för samma uppsättning händelser, kommer mappen för HTTPS-slutpunkten att innehålla 10 gånger fler filer än mappen som innehåller data hämtade via SQS-kön.