Không gian tên: gỡ lỗi

gỡ lỗi

gỡ lỗi()

Một hàm gỡ lỗi cơ bản có thể in ngôn ngữ Quy tắc bảo mật kết quả của các đối tượng, biến và câu lệnh khi chúng đang được được công cụ Quy tắc bảo mật đánh giá. Dữ liệu đầu ra của debug được ghi vào Firestore-debug.log.

Chỉ có thể gọi hàm debug bên trong Quy tắc điều kiện.

Chỉ công cụ Quy tắc bảo mật mới thực thi các khối hàm debug trong trình mô phỏng Firestore, một phần của Bộ mô phỏng Firebase. Gỡ lỗi không ảnh hưởng đến sản xuất.

Các mục nhập tệp nhật ký gỡ lỗi được thêm vào trước bằng một chuỗi xác định Quy tắc loại dữ liệu ngôn ngữ của đầu ra nhật ký (ví dụ: string_value, map_value).

Các lệnh gọi đến debug có thể được lồng vào nhau.

Tính năng debug hiện không hỗ trợ khái niệm ghi nhật ký (ví dụ: 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
...