Espacio de nombres: debug

depurar

Debug()

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

La función debug solo se puede llamar dentro de la sección Reglas conditions.

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

Las entradas del archivo de registro de depuración están precedidas por una cadena que identifica las reglas idioma del resultado del registro (por ejemplo, string_value, map_value).

Las llamadas a debug se pueden anidar.

Por el momento, la función debug no admite el concepto de registro. (por ejemplo, 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
...