فضای نام: اشکال زدایی

اشکال زدایی

اشکال زدایی()

یک تابع اشکال زدایی اساسی که اشیاء زبان قوانین امنیتی، متغیرها و نتایج بیانیه را همانطور که توسط موتور قوانین امنیتی ارزیابی می شوند چاپ می کند. خروجی های debug در firestore-debug.log نوشته می شوند.

تابع debug را فقط می توان در شرایط قوانین فراخوانی کرد.

بلوک های تابع debug فقط توسط موتور قوانین امنیتی در شبیه ساز Firestore، بخشی از مجموعه Firebase Emulator اجرا می شوند. تابع اشکال زدایی هیچ تاثیری در تولید ندارد.

ورودی‌های فایل لاگ اشکال‌زدایی توسط رشته‌ای که نوع داده زبان قوانین خروجی گزارش را مشخص می‌کند (به عنوان مثال 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
...