กฎ แก้ไขข้อบกพร่อง
แก้ปัญหา
debug()
ฟังก์ชันแก้ไขข้อบกพร่องพื้นฐานที่พิมพ์ภาษาของกฎความปลอดภัย
ออบเจ็กต์ ตัวแปร และผลลัพธ์ของคำสั่งตามที่เป็นอยู่
ประเมินโดยเครื่องมือกฎความปลอดภัย เขียนเอาต์พุตของ debug
ไปยัง
Firestore-debug.log
สามารถเรียกฟังก์ชัน debug
ภายในกฎได้เท่านั้น
สภาพสินค้า
การบล็อกฟังก์ชัน debug
รายการจะเรียกใช้โดยเครื่องมือกฎการรักษาความปลอดภัยใน
โปรแกรมจำลอง Firestore ซึ่งเป็นส่วนหนึ่งของชุดโปรแกรมจำลอง Firebase การแก้ไขข้อบกพร่อง
จะไม่ส่งผลใดๆ ต่อเวอร์ชันที่ใช้งานจริง
ระบบจะแทรกรายการไฟล์บันทึกการแก้ไขข้อบกพร่องไว้หน้าด้วยสตริงที่ระบุกฎ
ประเภทข้อมูลภาษาของเอาต์พุตบันทึก (เช่น string_value
,
map_value
)
การเรียกไปยัง debug
สามารถซ้อนกันได้
ปัจจุบันฟีเจอร์ debug
ไม่รองรับแนวคิดการบันทึก
ระดับต่างๆ (เช่น INFO, WARN, ERROR)
// firestore.rules
// Nested debug calls in the following match block....
match /carts/{cartID} {
allow create: if request.auth != null && request.auth.uid == request.resource.data.ownerUID;
allow read, update, delete: if
debug(
debug(request.auth.uid) == debug(resource.data.ownerUID)
);
}
...
// firestore-debug.log
// ...produce logfile output like the following.
string_value: "alice" // for debug(request.auth.uid)
string_value: "alice" // for debug(resource.data.ownerUID)
bool_value: true // for the outermost enclosing debug() call
...