イベントが発生したコンテキスト。
EventContext は: - イベントが発生した時刻。- イベントの一意の識別子。- イベントが発生したリソース(該当する場合)。- イベントをトリガーしたリクエストの承認(該当する場合)。
署名:
export interface EventContext<Params = Record<string, string>>
プロパティ
プロパティ | 型 | 説明 |
---|---|---|
認証 | { token: object;uid: string;} | 関数をトリガーしたユーザーの認証情報。 |
authType | 「管理者」|「ユーザー」|「未認証」 | ユーザーの権限のレベル。 |
eventId | 文字列 | イベントの一意の識別子。 |
eventType | 文字列 | イベントのタイプです。 |
params | パラメータ | Realtime Database トリガーのメソッドに渡される path パラメータのワイルドカードの値を含むオブジェクト。 |
resource | リソース | イベントを発行したリソース。 |
timestamp | 文字列 | イベントのタイムスタンプ(RFC 3339 文字列)。 |
EventContext.auth
関数をトリガーしたユーザーの認証情報。
このオブジェクトには、認証済みユーザーの uid
プロパティと token
プロパティが含まれています。トークンキーを含む詳細については、セキュリティ ルールのリファレンスをご覧ください。
このフィールドは、Realtime Database トリガーと呼び出し可能関数に対してのみ入力されます。認証されていないユーザーの場合、このフィールドは null です。Firebase 管理ユーザーと、ユーザー情報を提供しないイベントタイプの場合、このフィールドは存在しません。
署名:
auth?: {
token: object;
uid: string;
};
EventContext.authType
ユーザーの権限のレベル。
指定できる値は次のとおりです。
ADMIN
: サービス アカウントを介して認証されたデベロッパー ユーザーまたはユーザー。USER
: 既知のユーザー。UNAUTHENTICATED
: 未認証の操作null
: ユーザー情報を提供しないイベントタイプ向け(Realtime Database を除くすべて)。
署名:
authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";
EventContext.eventId
イベントの一意の識別子。
署名:
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
Realtime Database トリガーのメソッドに渡される path
パラメータのワイルドカードの値を含むオブジェクト。
署名:
params: Params;
EventContext.resource
イベントを発行したリソース。
指定できる値は次のとおりです。
アナリティクス: projects/<projectId>/events/<analyticsEventType>
Realtime Database: projects/_/instances/<databaseInstance>/refs/<databasePath>
ストレージ: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
認証: projects/<projectId>
Pub/Sub: projects/<projectId>/topics/<topicName>
Realtime Database インスタンスと Cloud Storage バケットはグローバルに一意であり、プロジェクトには関連付けられていないため、リソースは projects/_
で始まります。アンダースコアは有効なプロジェクト名ではありません。
署名:
resource: Resource;
EventContext.timestamp
イベントのタイムスタンプ(RFC 3339 文字列)。
署名:
timestamp: string;