이벤트가 발생한 컨텍스트입니다.
EventContext는 다음을 설명합니다. - 이벤트가 발생한 시간입니다. - 이벤트의 고유 식별자입니다. - 이벤트가 발생한 리소스입니다(해당하는 경우). - 이벤트를 트리거한 요청의 승인(해당하는 경우)
서명:
export interface EventContext<Params = Record<string, string>>
속성
속성 | 유형 | 설명 |
---|---|---|
인증 | { token: 객체; uid: string; } | 함수를 트리거한 사용자에 대한 인증 정보입니다. |
인증 유형 | '관리' | 'USER' | 'UNAUTHENTICATED(인증되지 않음)' | 사용자의 권한 수준입니다. |
eventId | 문자열 | 이벤트의 고유 식별자입니다. |
eventType | 문자열 | 이벤트 유형입니다. |
매개변수 | 매개변수 | 실시간 데이터베이스 트리거에 대한 메서드에 제공되는 path 매개변수의 와일드 카드 값을 포함하는 객체입니다. |
리소스 | 리소스 | 이벤트를 발생시킨 리소스입니다. |
timestamp | 문자열 | RFC 3339 문자열 형식의 이벤트 타임스탬프입니다. |
EventContext.auth
함수를 트리거한 사용자에 대한 인증 정보입니다.
이 객체에는 인증된 사용자의 uid
및 token
속성이 포함됩니다. 토큰 키를 포함한 자세한 내용은 보안 규칙 참조를 확인하세요.
이 필드는 실시간 데이터베이스 트리거 및 호출 가능 함수에 대해서만 채워집니다. 인증되지 않은 사용자의 경우 이 필드는 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;