Bir olayın gerçekleştiği bağlam.
Bir EventContext şunları açıklar: - Bir olayın meydana geldiği zaman. - Etkinliğin benzersiz tanımlayıcısı. - Varsa, olayın gerçekleştiği kaynak. - Varsa ve mevcutsa, olayı tetikleyen isteğin yetkilendirilmesi.
İmza:
export interface EventContext<Params = Record<string, string>>
Özellikler
Mülk | Tip | Tanım |
---|---|---|
yetki | { belirteç: nesne; kullanıcı kimliği: dize; } | İşlevi tetikleyen kullanıcıya ilişkin kimlik doğrulama bilgileri. |
kimlik doğrulama türü | "YÖNETİCİ" | "KULLANICI" | "DOĞRULANMAMIŞ" | Bir kullanıcının izin düzeyi. |
olay kimliği | sicim | Etkinliğin benzersiz tanımlayıcısı. |
etkinlik tipi | sicim | Olay türü. |
parametreler | Parametreler | Gerçek Zamanlı Veritabanı tetikleyicisi için yönteme sağlanan path parametresindeki joker karakterlerin değerlerini içeren bir nesne. |
kaynak | Kaynak | Etkinliği oluşturan kaynak. |
zaman damgası | sicim | Etkinliğin RFC 3339 dizesi olarak zaman damgası. |
EventContext.auth
İşlevi tetikleyen kullanıcıya ilişkin kimlik doğrulama bilgileri.
Bu nesne, kimliği doğrulanmış kullanıcılar için uid
ve token
özelliklerini içerir. Belirteç anahtarları dahil daha fazla ayrıntı için güvenlik kuralları referansına bakın .
Bu alan yalnızca Gerçek Zamanlı Veritabanı tetikleyicileri ve Çağrılabilir işlevler 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
Bir kullanıcının izin düzeyi.
Geçerli değerler şunlardır:
ADMIN
: Bir hizmet hesabı aracılığıyla kimliği doğrulanmış geliştirici kullanıcısı veya kullanıcı.USER
: Bilinen kullanıcı.UNAUTHENTICATED
: Kimliği doğrulanmamış eylemnull
: Kullanıcı bilgisi sağlamayan olay türleri için (Gerçek Zamanlı Veritabanı hariç tümü).
İmza:
authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";
EventContext.eventId
Etkinliğin benzersiz tanımlayıcısı.
İmza:
eventId: string;
EventContext.eventType
Olay türü.
Olası değerler şunlardır:
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;
EventContext.params
Gerçek Zamanlı Veritabanı tetikleyicisi için yönteme sağlanan path
parametresindeki joker karakterlerin değerlerini içeren bir nesne.
İmza:
params: Params;
EventContext.resource
Etkinliği oluşturan kaynak.
Geçerli değerler şunlardır:
Analytics: projects/<projectId>/events/<analyticsEventType>
Gerçek Zamanlı Veritabanı: projects/_/instances/<databaseInstance>/refs/<databasePath>
Depolama: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
Kimlik doğrulama: projects/<projectId>
Pub/Sub: projects/<projectId>/topics/<topicName>
Gerçek Zamanlı Veritabanı örnekleri ve Cloud Storage paketleri küresel olarak benzersiz olduğundan ve projeye bağlı olmadığından kaynakları projelerle başlar projects/_
. Alt çizgi geçerli bir proje adı değil.
İmza:
resource: Resource;
EventContext.timestamp
Etkinliğin RFC 3339 dizesi olarak zaman damgası.
İmza:
timestamp: string;