Ad alanı: hata ayıklama

hata ayıklama

hata ayıklama()

Güvenlik Kuralları motoru tarafından değerlendirilirken Güvenlik Kuralları dil nesnelerini, değişkenlerini ve bildirim sonuçlarını yazdıran temel bir hata ayıklama işlevi. debug çıktıları firestore-debug.log dosyasına yazılır.

debug işlevi yalnızca Kural koşulları dahilinde çağrılabilir.

debug fonksiyon blokları yalnızca Firebase Emulator Suite'in bir parçası olan Firestore emülatöründeki Güvenlik Kuralları motoru tarafından yürütülür. Hata ayıklama işlevinin üretimde hiçbir etkisi yoktur.

Hata ayıklama günlük dosyası girişlerinin başına, günlük çıktısının Kurallar dili veri türünü tanımlayan bir dize eklenir (örneğin, string_value , map_value ).

debug çağrıları iç içe yerleştirilebilir.

Şu anda debug özelliği, günlüğe kaydetme düzeyleri kavramını (örneğin, BİLGİ, UYARI, HATA) desteklememektedir.

// 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
...