บริบทที่เกิดเหตุการณ์
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;