Konteks di mana suatu peristiwa terjadi.
EventContext menjelaskan: - Waktu terjadinya suatu peristiwa. - Pengidentifikasi unik acara tersebut. - Sumber daya tempat peristiwa itu terjadi, jika ada. - Otorisasi permintaan yang memicu peristiwa tersebut, jika berlaku dan tersedia.
Tanda tangan:
export interface EventContext<Params = Record<string, string>>
Properti
Properti | Jenis | Keterangan |
---|---|---|
autentik | { tanda: objek; uid: tali; } | Informasi autentikasi untuk pengguna yang memicu fungsi tersebut. |
tipe autentikasi | "ADMIN" | "PENGGUNA" | "TIDAK DIAutentikasi" | Tingkat izin untuk pengguna. |
ID acara | rangkaian | Pengidentifikasi unik acara. |
tipe acara | rangkaian | Jenis acara. |
param | Param | Sebuah objek yang berisi nilai karakter pengganti di parameter path yang disediakan untuk metode pemicu Realtime Database. |
sumber | Sumber | Sumber daya yang memancarkan peristiwa tersebut. |
stempel waktu | rangkaian | Stempel waktu untuk acara sebagai string RFC 3339 . |
EventContext.auth
Informasi autentikasi untuk pengguna yang memicu fungsi tersebut.
Objek ini berisi properti uid
dan token
untuk pengguna yang diautentikasi. Untuk detail selengkapnya termasuk kunci token, lihat referensi aturan keamanan .
Bidang ini hanya diisi untuk pemicu Realtime Database dan fungsi Callable. Untuk pengguna yang tidak diautentikasi, kolom ini bernilai nol. Untuk pengguna admin Firebase dan jenis peristiwa yang tidak memberikan informasi pengguna, kolom ini tidak ada.
Tanda tangan:
auth?: {
token: object;
uid: string;
};
EventContext.authType
Tingkat izin untuk pengguna.
Nilai yang valid adalah:
ADMIN
: Pengguna pengembang atau pengguna diautentikasi melalui akun layanan.USER
: Pengguna yang dikenal.UNAUTHENTICATED
: Tindakan tidak diautentikasinull
: Untuk jenis event yang tidak memberikan informasi pengguna (semuanya kecuali Realtime Database).
Tanda tangan:
authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";
EventContext.eventId
Pengidentifikasi unik acara.
Tanda tangan:
eventId: string;
EventContext.eventType
Jenis acara.
Nilai yang mungkin adalah:
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
Tanda tangan:
eventType: string;
EventContext.params
Sebuah objek yang berisi nilai karakter pengganti di parameter path
yang disediakan untuk metode pemicu Realtime Database.
Tanda tangan:
params: Params;
EventContext.sumber daya
Sumber daya yang memancarkan peristiwa tersebut.
Nilai yang valid adalah:
Analisis: projects/<projectId>/events/<analyticsEventType>
Basis Data Waktu Nyata: projects/_/instances/<databaseInstance>/refs/<databasePath>
Penyimpanan: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
Otentikasi: projects/<projectId>
Pub/Sub: projects/<projectId>/topics/<topicName>
Karena instance Realtime Database dan bucket Cloud Storage bersifat unik secara global dan tidak terikat dengan proyek, sumber dayanya dimulai dengan projects/_
. Garis bawah bukanlah nama proyek yang valid.
Tanda tangan:
resource: Resource;
EventContext.cap waktu
Stempel waktu untuk acara sebagai string RFC 3339 .
Tanda tangan:
timestamp: string;