EventContext interface

이벤트가 발생한 컨텍스트입니다.

EventContext는 다음을 설명합니다. - 이벤트가 발생한 시간입니다. - 이벤트의 고유 식별자입니다. - 이벤트가 발생한 리소스입니다(해당하는 경우). - 이벤트를 트리거한 요청의 승인(해당하는 경우)

서명:

export interface EventContext<Params = Record<string, string>> 

속성

속성 유형 설명
인증 { token: 객체; uid: string; } 함수를 트리거한 사용자에 대한 인증 정보입니다.
인증 유형 '관리' | 'USER' | 'UNAUTHENTICATED(인증되지 않음)' 사용자의 권한 수준입니다.
eventId 문자열 이벤트의 고유 식별자입니다.
eventType 문자열 이벤트 유형입니다.
매개변수 매개변수 실시간 데이터베이스 트리거에 대한 메서드에 제공되는 path 매개변수의 와일드 카드 값을 포함하는 객체입니다.
리소스 리소스 이벤트를 발생시킨 리소스입니다.
timestamp 문자열 RFC 3339 문자열 형식의 이벤트 타임스탬프입니다.

EventContext.auth

함수를 트리거한 사용자에 대한 인증 정보입니다.

이 객체에는 인증된 사용자의 uidtoken 속성이 포함됩니다. 토큰 키를 포함한 자세한 내용은 보안 규칙 참조를 확인하세요.

이 필드는 실시간 데이터베이스 트리거 및 호출 가능 함수에 대해서만 채워집니다. 인증되지 않은 사용자의 경우 이 필드는 null입니다. 사용자 정보를 제공하지 않는 Firebase 관리자 및 이벤트 유형의 경우 이 필드가 존재하지 않습니다.

서명:

auth?: {
        token: object;
        uid: string;
    };

EventContext.authType

사용자의 권한 수준입니다.

유효한 값은 다음과 같습니다.

  • ADMIN: 개발자 사용자 또는 서비스 계정을 통해 인증된 사용자입니다.

  • USER: 기존 사용자입니다.

  • UNAUTHENTICATED: 인증되지 않은 작업

  • null: 사용자 정보를 제공하지 않는 이벤트 유형입니다 (실시간 데이터베이스를 제외한 모든 유형).

서명:

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

실시간 데이터베이스 트리거에 대한 메서드에 제공되는 path 매개변수의 와일드 카드 값을 포함하는 객체입니다.

서명:

params: Params;

EventContext.resource

이벤트를 발생시킨 리소스입니다.

유효한 값은 다음과 같습니다.

분석: 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;