EventContext interface

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 diautentikasi

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