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 uid
và token
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ựcnull
: 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;