Espacio de nombres: depurar

depurar

depurar()

Una función de depuración básica que imprime objetos de lenguaje de reglas de seguridad, variables y resultados de declaraciones a medida que el motor de reglas de seguridad los evalúa. Los resultados de debug se escriben en firestore-debug.log.

La función debug solo se puede llamar dentro de las condiciones de las Reglas.

Los bloques de funciones debug solo los ejecuta el motor de reglas de seguridad en el emulador Firestore, que forma parte de Firebase Emulator Suite. La función de depuración no tiene ningún efecto en producción.

Las entradas del archivo de registro de depuración van precedidas de una cadena que identifica el tipo de datos del lenguaje de reglas de la salida del registro (por ejemplo, string_value , map_value ).

Las llamadas a debug se pueden anidar.

Actualmente, la función debug no admite el concepto de niveles de registro (por ejemplo, INFORMACIÓN, ADVERTENCIA, 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
...