Ich versuche, die Beispiele folgen in den Firebase Sicherheitsregeln für Cloud Storage Reference gelegt:Firebase Sicherheitsregeln für Cloud Storage split() Beispiel Fehler
https://firebase.google.com/docs/reference/security/storage/
ich & das Beispiel Paste kopieren für split()
in meine Lager Regeln und es wird nicht kompilieren/lass mich sparen:
Teilt einen String nach einem vorgesehenen regulären Ausdruck und gibt eine Liste von Strings. Verwendet die Google RE2-Syntax.
// Allow files named "file.*" to be uploaded
match /{fileName} {
allow write: if fileName.split('.*\..*')[0] == 'file'
}
Der Fehler erhalte ich: Unexpected '.'.
Für das Leben von mir, ich nicht den Beispielcode erhalten können laufen zur Verfügung gestellt, noch kann ich Änderungen vornehmen und erhalten Regex wie erwartet funktionieren .
Hat jemand irgendwelche Vorschläge für Allow files named "file.*" to be uploaded
?
Frank, danke für die schnelle Antwort. Dein regex 'split ('. * \\ .. *') [0]' Beispiel funktionierte immer noch nicht für mich, aber dein Kommentar zu Double Escaping brachte mich auf den richtigen Weg. Scheint, du würdest 'split ('\\.') [0]' machen, um den tatsächlichen Dateinamen zu erhalten, der für mich funktioniert hat. Fehle ich etwas oder ist das Beispiel in der Dokumentation ein bisschen? Ich habe auch falsche Negative beim Testen direkt nach einer Änderung, scheint es eine Laufzeitverzögerung für die Regeln, um Knoten zu erreichen oder etwas Cache zu entfernen? – briannyc
@briannyc: Ihre Beobachtung bezüglich der Verzögerung ist korrekt. Es wird im [Leitfaden zu Sicherheitsregeln] (https://firebase.google.com/docs/storage/security/start#edit_rules) erwähnt: _Regeln werden sofort auf Cloud Storage-Server hochgeladen, es kann jedoch bis zu fünf Minuten dauern, bis sie live_ werden. . –