Einer Collection ein Schema geben
Über den Data Tab deines Projekts kann eine Collection ein Schema erhalten, ihre erwarteten Felder, jedes mit einem Typ und ob es erforderlich ist. Einmal gesetzt, wird jeder Insert, Update, oder Upsert in diese Collection zuerst dagegen geprüft und mit einem klaren Fehler abgelehnt, falls etwas fehlt oder den falschen Typ hat. Eine Collection ohne Schema akzeptiert weiterhin jede Form, genau wie zuvor, ein Schema ist opt in, keine Migration, zu der du gezwungen wirst.
Ein Schemafeld kann auch als unique markiert werden (ein Schreibvorgang wird abgelehnt, falls eine andere Zeile diesen Wert bereits hat) oder als Referenz auf eine andere Collection typisiert werden (ein Schreibvorgang wird abgelehnt, außer die Zeile, auf die er zeigt, existiert tatsächlich).
Der Records Browser
Der Data Tab ist ein vollständiger Editor für die Zeilen einer Collection: blättere durch sie, filtere nach Text, füge eine Zeile inline hinzu oder bearbeite sie, lösche eine, und exportiere die gesamte Collection als CSV oder importiere Zeilen aus eingefügtem CSV.
Zeilenbesitz pro Schlüssel
Ein Database Query Block kann statt des standardmäßigen shared Modus auf per key Besitz gesetzt werden: jede von ihm eingefügte Zeile wird mit dem aufrufenden API Schlüssel markiert, und Lesevorgänge/Updates/Löschungen erreichen nur Zeilen, die derselbe Schlüssel erstellt hat. Ein fertiger Weg, eine Multi Tenant API zu bauen, ohne eigene Besitzprüfungen in jeden Block zu schreiben.
Background Jobs
Der Enqueue Block übergibt Arbeit zur späteren Ausführung, statt während der aktuellen Anfrage: er zeichnet einen Zielendpunkt und eine Payload auf, und kehrt dann sofort zurück. Ein geplanter Job leert die Queue im Hintergrund, wiederholt einen fehlgeschlagenen Job automatisch, bevor er aufgibt. Nutze das für alles, was länger dauern könnte, als eine einzelne Anfrage sollte, eine Charge E Mails senden, eine langsame Partner API einmal pro Element in einer Liste aufrufen.
Tipp: Ein Schema schützt nicht nur deine Daten, es macht auch die generierte OpenAPI Dokumentation deines Endpunkts präziser, da ein erforderliches oder typisiertes Feld dort automatisch erscheint.