JL
TH
หน้าเอกสาร
เมนู
คู่มือ

แผนผังลำดับงานฝั่งไคลเอนต์

กำหนดลำดับขั้นตอนหลักที่คาดหวังสำหรับไคลเอนต์ที่เชื่อมต่อกับ jsonlog

guide jsonlog

แผนผังลำดับงานฝั่งไคลเอนต์

วัตถุประสงค์: กำหนดลำดับขั้นตอนระดับสูงที่คาดหวังสำหรับไคลเอนต์ที่เชื่อมต่อกับ jsonlog

ลำดับงานหลัก

  1. บูตสแตรป auth กับ auth.jsonlog.com และรับ Bearer token สำหรับเส้นทางที่แยกตามบัญชี
  2. ส่ง log ผ่าน POST /log (สาธารณะหรือรายช่องทาง) พร้อม JSON body
  3. สตรีม log แบบเรียลไทม์ผ่าน GET /ws upgrade โดยใส่ตัวกรอง cid และ level ได้
  4. บังคับสิทธิ์ช่องทางส่วนตัวตาม claim บัญชี (acc) สำหรับการอ่าน/เขียนทั้ง HTTP และ WebSocket
  5. ค้นหาไฟล์ SSTable แบบ durable ผ่าน POST /query และดูค่าสรุปผ่าน GET /query/stats
  6. ตรวจสอบความพร้อมใช้งานและสถานะเส้นทางเขียนผ่าน GET /health และ GET /stats

กลุ่ม Endpoints

  • การรับข้อมูล:
    • POST /log
    • GET /log
  • การสตรีม:
    • GET /ws (WebSocket upgrade endpoint)
  • การค้นหา:
    • POST /query
    • GET /query/stats
  • บริการ:
    • GET /health
    • GET /stats
  • เอกสาร:
    • GET /openapi.json
    • GET /docs
    • GET /swagger

ข้อกำหนดด้านความปลอดภัย

  • การตรวจลายเซ็น JWT ใช้ค่าเริ่มต้น https://auth.jsonlog.com/.well-known/jwks.json?client_id=cid_jsonlog
  • เส้นทาง /query ต้องใช้ Bearer auth และใช้ acc ใน JWT เพื่อแยกบัญชี
  • การเข้าถึงช่องทางส่วนตัวต้องให้ acc ใน JWT ตรงกับเจ้าของช่องทาง
  • การอ่านช่องทางส่วนตัวที่ไม่ได้รับอนุญาตจะตอบ 404 เพื่อป้องกันการเดาช่องทาง
  • โหมดไม่ใช้ auth ใช้ได้เฉพาะพัฒนาในเครื่อง และไม่ควรเป็นค่าเริ่มต้นใน production