จะกำหนดค่าและทดสอบกิจกรรมไฟล์ใน Canvas (Canvas Live Events) ผ่านการนำส่งผ่าน HTTPS ได้อย่างไร

บริการข้อมูลจาก Canvas (Canvas Data Services) เสนอสองทางเลือกในการนำส่งข้อมูล แต่ละช่องทางสามารถรับชุดข้อมูลไลฟ์ (Live Events) เหมือน ๆ กันจาก Canvas: ปลายทาง HTTPS กับคิว AWS SQS ทั้ง HTTPS และ AWS SQS สามารถทำงานได้พร้อม ๆ กัน

บทความนี้ระบุแนวทางในการกำหนดค่าและทดสอบการส่งข้อมูลผ่าน HTTPS ในกิจกรรมไลฟ์จาก Canvas (Canvas Live Events) ดูรายละเอียดเพิ่มเติมสำหรับการนำส่งข้อมูลของ SQS

หมายเหตุ: ข้อมูลกิจกรรมไลฟ์จะถูกประมวลผลในพื้นที่เดียวกันกับส่วนทำรายการ Canvas ต้นทาง

รายละเอียดการกำหนดค่า

คุณสามารถใช้ Google Cloud Function เพื่อรับข้อมูลกิจกรรมจาก Canvas และจัดเก็บไว้ใน Google Cloud Storage

จะต้องทำตามขั้นตอนต่อไปนี้เพื่อประมวลผลข้อความจากกิจกรรมไลฟ์ของ Canvas (Canvas Live Event) ขาเข้าผ่านปลายทางจาก HTTPS:

  1. ตั้งค่าเปิดเพย์โหลด JWT ลงนาม
  2. ข้อความแจ้งกิจกรรมหลังจากที่ได้รับผ่าน Google Cloud Function แล้วควรถอดรหัสด้วย RS256  
  3. หลังจากถอดรหัสแล้ว ลายมือชื่อ JWT จะมีคุณสมบัติ "kid" อยู่ด้วย คุณสมบัตินี้ควรจะตรงกับค่า "kid" ที่เรียกค้นจาก URL สาธารณะ https://8axpcl50e4.execute-api.us-east-1.amazonaws.com/main/jwks
  4. แปลงเพย์โหลดและจัดเก็นกิจกรรมที่ได้ ห้ามจัดเก็บข้อความที่ลงนามและเข้ารหัสแล้วนานเกินไปเนื่องจากค่า "kid" จะเกินกำหนดในที่สุด AWS จะหมุนเวียนคีย์เดือนละครั้งในวันที่ 30 "kid" ล่าสุดจะเป็นตัวกลาง

หัวเรื่องกกิจกรรม

นอกจากนี้จะมีประเภทหัวเรื่องอยู่สามประเภทเมื่อ Canvas จัดทำกิจกรรม

  1. แจ้งขอหัวเรื่องเมื่อกิจกรรมถูกสั่งการใน Canvas (สมมติว่ากิจกรรมถูจัดทำตามคำขอ) ข้อมูลจากคำขอจะถูกจัดเป็นเมต้าดาต้าออบเจคต์สำหรับกิจกรรม เช่น วิธีการ, ID คำขอ, URI ผู้แนะนำ ฯลฯ
  2. AWS จะเพิ่มข้อมูลเพิ่มเติมไปยังซองกิจกรรมเมื่อส่งต่อจากบริการหนึ่งไปอีกบริการหนึ่ง (เช่น เวลากำกับเมื่อมีการนำส่งข้อมูลกิจกรรมไปยัง SQS)
  3. หัวเรื่อง JWT มาตรฐาน ข้อมูลเหล่านี้จะถูกเพิ่มเข้าไปเมื่อลงนามกิจกรรมแต่ละรายการ

ความแตกต่างระหว่าง HTTPS และ AWS SQS

กิจกรรมที่นำส่งสำหรับปลายทาง HTTPS จะมีคุณสมบัติเพิ่มเติมอีกเล็กน้อย เมื่อ AWS SQS นำส่งข้อมูล ข้อมูลกิจกรรมจะถูกรวบรวมไว้ผ่านฟังก์ชั่น AWS lambda และสามารถเขียนข้อมูลกิจกรรมเป็นชุด ๆ สูงสุด 10 ข้อความสำหรับกิจกรรมต่อครั้ง ซึ่งจะทำให้ได้ไฟล์ที่มีข้อความกิจกรรมสูงสุด 10 รายการเมื่อเทียบกับไฟล์สำหรับกิจกรรมที่นำส่งผ่านปลายทางแบบ HTTPS ซึ่งจะมีไฟล์เดียวต่อกิจกรรม กล่าวคือ สำหรับกิจกรรมชุดเดียวกัน โฟลเดอร์สำหรับปลายทาง HTTPS จะมีไฟล์มากกว่าโฟลเดอร์ที่มีข้อมูลที่เรียกค้นผ่านคิว SQS ถึง 10 เท่า