Konteks saat peristiwa terjadi.
EventContext menjelaskan: - Waktu terjadinya peristiwa. - ID unik peristiwa. - Sumber daya tempat peristiwa terjadi, jika ada. - Otorisasi permintaan yang memicu peristiwa, jika ada dan tersedia.
Tanda Tangan:
export interface EventContext<Params = Record<string, string>>
Properti
Properti | Jenis | Deskripsi |
---|---|---|
autentikasi | { token: object; uid: string; } | Informasi autentikasi untuk pengguna yang memicu fungsi. |
authType | "ADMIN" | "PENGGUNA" | "TIDAK DIAUTENTIKASI" | Tingkat izin untuk pengguna. |
eventId | string | ID unik peristiwa. |
eventType | string | Jenis peristiwa. |
parameter | Parameter | Objek yang berisi nilai karakter pengganti di parameter path yang diberikan ke metode untuk pemicu Realtime Database. |
resource | Resource | Resource yang memunculkan peristiwa. |
stempel waktu | string | Stempel waktu untuk peristiwa sebagai string RFC 3339. |
EventContext.auth
Informasi autentikasi untuk pengguna yang memicu fungsi.
Objek ini berisi properti uid
dan token
untuk pengguna yang diautentikasi. Untuk mengetahui detail selengkapnya, seperti kunci token, baca referensi aturan keamanan.
Kolom ini hanya diisi untuk pemicu Realtime Database dan fungsi Callable. Untuk pengguna yang tidak diautentikasi, kolom ini tidak diisi. 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 developer atau pengguna yang diautentikasi melalui akun layanan.USER
: Pengguna yang dikenal.UNAUTHENTICATED
: Tindakan yang tidak diautentikasinull
: Untuk jenis peristiwa yang tidak memberikan informasi pengguna (semua kecuali Realtime Database).
Tanda Tangan:
authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";
EventContext.eventId
ID unik peristiwa.
Tanda Tangan:
eventId: string;
EventContext.eventType
Jenis peristiwa.
Nilainya dapat berupa:
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
Objek yang berisi nilai karakter pengganti di parameter path
yang diberikan ke metode untuk pemicu Realtime Database.
Tanda Tangan:
params: Params;
EventContext.resource
Resource yang memunculkan peristiwa.
Nilai yang valid adalah:
Analisis: projects/<projectId>/events/<analyticsEventType>
Realtime Database: projects/_/instances/<databaseInstance>/refs/<databasePath>
Penyimpanan: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
Autentikasi: projects/<projectId>
Pub/Sub: projects/<projectId>/topics/<topicName>
Karena instance Realtime Database dan bucket Cloud Storage secara global bersifat unik dan tidak terikat dengan project, resource-nya dimulai dengan projects/_
. Garis bawah bukan nama project yang valid.
Tanda Tangan:
resource: Resource;
EventContext.timestamp
Stempel waktu untuk peristiwa sebagai string RFC 3339.
Tanda Tangan:
timestamp: string;