EventContext interface

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 diautentikasi

  • null : 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;