事件發生時的情境,
EventContext 說明:- 事件發生的時間。- 事件的專屬識別碼。- 發生事件的資源 (如適用)。- 授權觸發事件的要求 (如果有的話)。
簽名:
export interface EventContext<Params = Record<string, string>>
屬性
屬性 | 類型 | 說明 |
---|---|---|
驗證 | { 符記:物件;uid:字串;} | 觸發函式的使用者驗證資訊。 |
驗證類型 | 「管理員」|「USER」|「已取消」 | 使用者的權限等級。 |
eventId | 字串 | 事件的專屬 ID。 |
eventType | 字串 | 事件類型。 |
參數 | 參數 | 這是一個物件,其中包含提供給即時資料庫觸發條件的方法 path 參數中的萬用字元值。 |
資源 | 資源 | 產生事件的資源。 |
時間戳記 | 字串 | 事件時間戳記,以 RFC 3339 字串表示。 |
EventContext.auth
觸發函式的使用者驗證資訊。
這個物件包含已驗證使用者的 uid
和 token
屬性。如需權杖金鑰等詳細資訊,請參閱安全性規則參考資料。
只有即時資料庫觸發條件和可呼叫函式才會填入這個欄位。如果是未經驗證的使用者,這個欄位為空值。對於未提供使用者資訊的 Firebase 管理員使用者和事件類型,這個欄位不存在。
簽名:
auth?: {
token: object;
uid: string;
};
EventContext.authType
使用者的權限等級。
以下為有效值:
ADMIN
:透過服務帳戶驗證的開發人員使用者或使用者。USER
:已知使用者。UNAUTHENTICATED
:未經驗證的動作null
:適用於不提供使用者資訊的事件類型 (即時資料庫除外)。
簽名:
authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";
EventContext.eventId
事件的專屬 ID。
簽名:
eventId: string;
EventContext.eventType
事件類型。
可能的值包括:
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
簽名:
eventType: string;
EventContext.params
這是一個物件,其中包含提供給即時資料庫觸發條件的方法 path
參數中的萬用字元值。
簽名:
params: Params;
EventContext.resource
產生事件的資源。
以下為有效值:
Analytics:projects/<projectId>/events/<analyticsEventType>
即時資料庫:projects/_/instances/<databaseInstance>/refs/<databasePath>
儲存空間:projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
驗證:projects/<projectId>
Pub/Sub:projects/<projectId>/topics/<topicName>
由於即時資料庫執行個體和 Cloud Storage 值區在全域範圍內都不會重複,且不連結至專案,因此其資源開頭為 projects/_
。底線並非有效的專案名稱。
簽名:
resource: Resource;
EventContext.timestamp
事件時間戳記,以 RFC 3339 字串表示。
簽名:
timestamp: string;