EventContext interface

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

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

서명:

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

속성

재산 유형 설명
인증 { 토큰: 객체; uid: 문자열; } 함수를 트리거한 사용자에 대한 인증 정보입니다.
인증 유형 "관리자" | "사용자" | "인증되지 않음" 사용자의 권한 수준입니다.
이벤트 ID 이벤트의 고유 식별자입니다.
이벤트 유형 이벤트 유형.
매개변수 매개변수 실시간 데이터베이스 트리거 메소드에 제공되는 path 매개변수의 와일드카드 값을 포함하는 객체입니다.
자원 자원 이벤트를 내보낸 리소스입니다.
타임스탬프 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>

게시/구독: projects/<projectId>/topics/<topicName>

실시간 데이터베이스 인스턴스와 Cloud Storage 버킷은 전역적으로 고유하고 프로젝트에 연결되지 않으므로 해당 리소스는 projects/_ 로 시작합니다. . 밑줄은 유효한 프로젝트 이름이 아닙니다.

서명:

resource: Resource;

EventContext.타임스탬프

RFC 3339 문자열로 된 이벤트의 타임스탬프입니다.

서명:

timestamp: string;