EventContext interface

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ış eylem

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