EventContext interface

Bối cảnh trong đó một sự kiện xảy ra.

An EventContext mô tả: - Thời gian xảy ra sự kiện. - Một mã định danh duy nhất của sự kiện. - Nguồn lực nơi xảy ra sự kiện, nếu có. - Ủy quyền cho yêu cầu đã kích hoạt sự kiện, nếu có và có sẵn.

Chữ ký:

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

Của cải

Tài sản Kiểu Sự miêu tả
xác thực { mã thông báo: đối tượng; uid: chuỗi; } Thông tin xác thực cho người dùng đã kích hoạt chức năng.
loại xác thực "Quản trị viên" | "NGƯỜI DÙNG" | "KHÔNG ĐƯỢC XÁC THỰC" Mức độ quyền cho người dùng.
ID sự kiện sợi dây Mã định danh duy nhất của sự kiện.
loại sự kiện sợi dây Loại sự kiện.
thông số Thông số Một đối tượng chứa các giá trị của ký tự đại diện trong path được cung cấp cho phương thức kích hoạt Cơ sở dữ liệu thời gian thực.
nguồn Nguồn Tài nguyên đã phát ra sự kiện.
dấu thời gian sợi dây Dấu thời gian cho sự kiện dưới dạng chuỗi RFC 3339 .

Sự kiệnContext.auth

Thông tin xác thực cho người dùng đã kích hoạt chức năng.

Đối tượng này chứa các thuộc tính uidtoken cho người dùng được xác thực. Để biết thêm chi tiết bao gồm các khóa mã thông báo, hãy xem tài liệu tham khảo về quy tắc bảo mật .

Trường này chỉ được điền cho các trình kích hoạt Cơ sở dữ liệu thời gian thực và các hàm có thể gọi được. Đối với người dùng chưa được xác thực, trường này là rỗng. Đối với người dùng quản trị Firebase và các loại sự kiện không cung cấp thông tin người dùng, trường này không tồn tại.

Chữ ký:

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

Sự kiệnContext.authType

Mức độ quyền cho người dùng.

Các giá trị hợp lệ là:

  • ADMIN : Người dùng nhà phát triển hoặc người dùng được xác thực thông qua tài khoản dịch vụ.

  • USER : Người dùng đã biết.

  • UNAUTHENTICATED : Hành động không được xác thực

  • null : Dành cho các loại sự kiện không cung cấp thông tin người dùng (tất cả ngoại trừ Cơ sở dữ liệu thời gian thực).

Chữ ký:

authType?: "ADMIN" | "USER" | "UNAUTHENTICATED";

Sự kiệnContext.eventId

Mã định danh duy nhất của sự kiện.

Chữ ký:

eventId: string;

Sự kiệnContext.eventType

Loại sự kiện.

Các giá trị có thể là:

  • 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

Chữ ký:

eventType: string;

Sự kiệnContext.params

Một đối tượng chứa các giá trị của ký tự đại diện trong path được cung cấp cho phương thức kích hoạt Cơ sở dữ liệu thời gian thực.

Chữ ký:

params: Params;

Sự kiệnContext.resource

Tài nguyên đã phát ra sự kiện.

Các giá trị hợp lệ là:

Phân tích: projects/<projectId>/events/<analyticsEventType>

Cơ sở dữ liệu thời gian thực: projects/_/instances/<databaseInstance>/refs/<databasePath>

Lưu trữ: projects/_/buckets/<bucketName>/objects/<fileName>#<generation>

Xác thực: projects/<projectId>

Pub/Sub: projects/<projectId>/topics/<topicName>

Vì các phiên bản Cơ sở dữ liệu thời gian thực và nhóm Lưu trữ đám mây là duy nhất trên toàn cầu và không bị ràng buộc với dự án nên tài nguyên của chúng bắt đầu bằng projects/_ . Dấu gạch dưới không phải là tên dự án hợp lệ.

Chữ ký:

resource: Resource;

Sự kiệnContext.timestamp

Dấu thời gian cho sự kiện dưới dạng chuỗi RFC 3339 .

Chữ ký:

timestamp: string;