EventContext interface

บริบทที่เกิดเหตุการณ์

EventContext อธิบาย: - เวลาที่เหตุการณ์เกิดขึ้น - ตัวระบุเฉพาะของเหตุการณ์ - ทรัพยากรที่เกิดเหตุการณ์ ถ้ามี - การอนุญาตคำขอที่ทำให้เกิดเหตุการณ์ หากมีและพร้อมใช้งาน

ลายเซ็น:

export interface EventContext<Params = Record<string, string>> 

คุณสมบัติ

คุณสมบัติ พิมพ์ คำอธิบาย
รับรองความถูกต้อง { โทเค็น: วัตถุ; uid: สตริง; } ข้อมูลการตรวจสอบสิทธิ์สำหรับผู้ใช้ที่เรียกใช้ฟังก์ชัน
ประเภทการรับรองความถูกต้อง "ผู้ดูแลระบบ" | "ผู้ใช้" | "ไม่ได้รับอนุญาต" ระดับสิทธิ์สำหรับผู้ใช้
รหัสเหตุการณ์ เชือก ตัวระบุเฉพาะของเหตุการณ์
ประเภทเหตุการณ์ เชือก ประเภทของงาน
พารามิเตอร์ พารามิเตอร์ ออบเจ็กต์ที่มีค่าของไวด์การ์ดในพารามิเตอร์ path ที่ระบุให้กับวิธีการสำหรับทริกเกอร์ฐานข้อมูลเรียลไทม์
ทรัพยากร ทรัพยากร ทรัพยากรที่ปล่อยเหตุการณ์
การประทับเวลา เชือก การประทับเวลาสำหรับเหตุการณ์เป็นสตริง RFC 3339

EventContext.auth

ข้อมูลการตรวจสอบสิทธิ์สำหรับผู้ใช้ที่เรียกใช้ฟังก์ชัน

ออบเจ็กต์นี้มีคุณสมบัติ uid และ token สำหรับผู้ใช้ที่ได้รับการรับรองความถูกต้อง สำหรับรายละเอียดเพิ่มเติมรวมถึงคีย์โทเค็น โปรดดู ข้อมูลอ้างอิงกฎความปลอดภัย .

ช่องนี้เติมข้อมูลสำหรับทริกเกอร์ฐานข้อมูลเรียลไทม์และฟังก์ชันที่เรียกได้เท่านั้น สำหรับผู้ใช้ที่ไม่ได้รับการรับรองความถูกต้อง ฟิลด์นี้จะเป็นโมฆะ สำหรับผู้ใช้ผู้ดูแลระบบ Firebase และประเภทเหตุการณ์ที่ไม่ได้ให้ข้อมูลผู้ใช้ จะไม่มีช่องนี้

ลายเซ็น:

auth?: {
        token: object;
        uid: string;
    };

EventContext.authType

ระดับสิทธิ์สำหรับผู้ใช้

ค่าที่ถูกต้องคือ:

  • ADMIN : ผู้ใช้นักพัฒนาหรือผู้ใช้ที่ได้รับการรับรองความถูกต้องผ่านบัญชีบริการ

  • USER : ผู้ใช้ที่รู้จัก

  • UNAUTHENTICATED : การกระทำที่ไม่ได้รับการรับรองความถูกต้อง

  • null : สำหรับประเภทเหตุการณ์ที่ไม่ได้ให้ข้อมูลผู้ใช้ (ทั้งหมดยกเว้น Realtime Database)

ลายเซ็น:

authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";

EventContext.eventId

ตัวระบุเฉพาะของเหตุการณ์

ลายเซ็น:

eventId: string;

EventContext.eventType

ประเภทของงาน

ค่าที่เป็นไปได้คือ:

  • google.analytics.event.log

  • google.firebase.auth.user.create

  • google.firebase.auth.user.delete

  • google.firebase.database.ref.write

  • google.firebase.database.ref.create

  • google.firebase.database.ref.update

  • google.firebase.database.ref.delete

  • google.firestore.document.write

  • google.firestore.document.create

  • google.firestore.document.update

  • google.firestore.document.delete

  • google.pubsub.topic.publish

  • google.firebase.remoteconfig.update

  • google.storage.object.finalize

  • google.storage.object.archive

  • google.storage.object.delete

  • google.storage.object.metadataUpdate

  • google.testing.testMatrix.complete

ลายเซ็น:

eventType: string;

EventContext.params

ออบเจ็กต์ที่มีค่าของไวด์การ์ดในพารามิเตอร์ path ที่ระบุให้กับวิธีการสำหรับทริกเกอร์ฐานข้อมูลเรียลไทม์

ลายเซ็น:

params: Params;

EventContext.resource

ทรัพยากรที่ปล่อยเหตุการณ์

ค่าที่ถูกต้องคือ:

การวิเคราะห์: projects/<projectId>/events/<analyticsEventType>

ฐานข้อมูลเรียลไทม์: projects/_/instances/<databaseInstance>/refs/<databasePath>

ที่เก็บข้อมูล: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>

การรับรองความถูกต้อง: projects/<projectId>

ผับ/ย่อย: projects/<projectId>/topics/<topicName>

เนื่องจากอินสแตนซ์ฐานข้อมูลเรียลไทม์และที่เก็บข้อมูล Cloud Storage นั้นไม่ซ้ำกันทั่วโลกและไม่เชื่อมโยงกับโปรเจ็กต์ ทรัพยากรจึงเริ่มต้นด้วย projects/_ . ขีดล่างไม่ใช่ชื่อโครงการที่ถูกต้อง

ลายเซ็น:

resource: Resource;

EventContext.ประทับเวลา

การประทับเวลาสำหรับเหตุการณ์เป็นสตริง RFC 3339

ลายเซ็น:

timestamp: string;