Bir etkinliğin gerçekleştiği bağlam.
Bir EventContext şu bilgileri açıklar: - Bir etkinliğin gerçekleştiği zaman. - Etkinliğin benzersiz bir tanımlayıcısı. - Geçerliyse etkinliğin gerçekleştiği kaynak. - Etkinliği tetikleyen isteğin (geçerliyse ve varsa) yetkilendirmesi.
İmza:
export interface EventContext<Params = Record<string, string>>
Özellikler
Özellik | Tür | Açıklama |
---|---|---|
kimlik doğrulama | { token: nesne; uid: string; } | İşlevi tetikleyen kullanıcının kimlik doğrulama bilgileri. |
authType | "YÖNETİCİ" | "KULLANICI" | "KİMLİK DOĞRULAMADI" | Kullanıcının izin düzeyi. |
etkinlikId | dize | Etkinliğin benzersiz tanımlayıcısı. |
eventType | dize | Etkinliğin türü. |
params | Parametreler | Realtime Database tetikleyicisi yöntemine sağlanan path parametresindeki joker karakterlerin değerlerini içeren nesne. |
kaynak | Kaynak | Etkinliği yayınlayan kaynak. |
zaman damgası | dize | RFC 3339 dizesi olarak etkinliğin zaman damgası. |
EventContext.auth
İşlevi tetikleyen kullanıcının kimlik doğrulama bilgileri.
Bu nesne, kimliği doğrulanmış kullanıcılar için uid
ve token
özelliklerini içerir. Jeton anahtarları dahil olmak üzere daha fazla ayrıntı için güvenlik kuralları referansını inceleyin.
Bu alan yalnızca Realtime Database tetikleyicileri ve çağrılabilir işlevleri için doldurulur. Kimliği doğrulanmamış bir kullanıcı için bu alan boştur. Firebase yönetici kullanıcıları ve kullanıcı bilgisi sağlamayan etkinlik türleri için bu alan mevcut değildir.
İmza:
auth?: {
token: object;
uid: string;
};
EventContext.authType
Kullanıcının izin düzeyi.
Geçerli değerler şunlardır:
ADMIN
: Geliştirici kullanıcısı veya kullanıcının kimliği bir hizmet hesabı aracılığıyla doğrulandı.USER
: Bilinen kullanıcı.UNAUTHENTICATED
: Kimliği doğrulanmayan işlemnull
: Kullanıcı bilgileri sağlamayan etkinlik türleri içindir (Realtime Database hariç tümü).
İmza:
authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";
EventContext.eventId
Etkinliğin benzersiz tanımlayıcısı.
İmza:
eventId: string;
EtkinlikBağlamı.eventType
Etkinliğin türü.
Olası değerler:
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
İmza:
eventType: string;
EtkinlikBağlamı.params
Realtime Database tetikleyicisi yöntemine sağlanan path
parametresindeki joker karakterlerin değerlerini içeren nesne.
İmza:
params: Params;
EtkinlikBağlamı.kaynak
Etkinliği yayınlayan kaynak.
Geçerli değerler şunlardır:
Analiz: projects/<projectId>/events/<analyticsEventType>
Gerçek Zamanlı Veritabanı: projects/_/instances/<databaseInstance>/refs/<databasePath>
Depolama alanı: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
Kimlik doğrulama: projects/<projectId>
Pub/Sub: projects/<projectId>/topics/<topicName>
Realtime Database örnekleri ve Cloud Storage paketleri küresel olarak benzersiz olduğundan ve projeye bağlı olmadığından kaynakları projects/_
ile başlar. Alt çizgi geçerli bir proje adı değil.
İmza:
resource: Resource;
EventContext.timestamp
RFC 3339 dizesi olarak etkinliğin zaman damgası.
İmza:
timestamp: string;