Regeln . debuggen
debuggen
debuggen()
Eine grundlegende Debug-Funktion, die Objekte, Variablen und Anweisungsergebnisse der Security Rules-Sprache ausgibt, während sie von der Security Rules-Engine ausgewertet werden. Die Ausgaben von debug
werden in firestore-debug.log geschrieben.
Die debug
Funktion kann nur innerhalb von Rules- Bedingungen aufgerufen werden.
debug
Funktionsblöcke werden nur von der Security Rules Engine im Firestore-Emulator ausgeführt, der Teil der Firebase Emulator Suite ist. Die Debug-Funktion hat in der Produktion keine Auswirkung.
Debug-Protokolldateieinträgen wird eine Zeichenfolge vorangestellt, die den Datentyp der Regelsprache der Protokollausgabe identifiziert (z. B. string_value
, map_value
).
debug
Aufrufe können verschachtelt werden.
Derzeit unterstützt die debug
Funktion das Konzept der Protokollierungsebenen (z. B. INFO, WARN, ERROR) nicht.
// 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
...