GraphQL-Daten und Dateien mit Zugriffsregeln

Schema definieren und sofort abfragen. Regeln pro Schema und pro Feld bestimmen, wer lesen und schreiben darf.

Schemas, Regeln und Dateien in einem Service

GraphQL aus Ihrem Schema

Legen Sie ein Schema im visuellen Editor oder als JSON-Datei an und veröffentlichen Sie es. Blocks erzeugt query, insert, insertMany, update, updateMany, delete und deleteMany, mit where-Filtern und AND/OR-Bedingungen.

Regeln auf Zeilen- und Spaltenebene

Machen Sie ein Schema oder ein einzelnes Feld öffentlich, öffnen Sie es für jeden angemeldeten Benutzer, oder beschränken Sie es mit Regeln auf ID, E-Mail, Rollen oder Berechtigungen des Benutzers und auf die Felder des Datensatzes selbst.

Validierung bei jedem Schreibvorgang

Hängen Sie Regex-, Längen-, Bereichs- und Vergleichsprüfungen an Felder. Beschreiben Sie ein Muster in einfacher Sprache, und Blocks schreibt die Regex für Sie.

Dateien mit Ordnern, Versionen und Freigaben

Laden Sie über Presigned-URLs hoch, behalten Sie jede Version, verschieben und kopieren Sie Dateien, ohne die Bytes zu duplizieren, geben Sie sie mit View-, Download-, Edit- oder Manage-Zugriff frei und stellen Sie sie aus dem Papierkorb wieder her.

Verwaltete oder eigene MongoDB

Nutzen Sie die Datenbank, die Blocks für jede Umgebung betreibt, oder verbinden Sie das Projekt mit Ihrem eigenen MongoDB-Atlas-Cluster.

Playground und Datenbrowser

Testen Sie Queries mit Introspection im Data Playground, und sehen Sie Datensätze als Tabelle oder JSON durch, mit Filtern und Sortierung.

Einmal definieren, aus Ihrer App abfragen

Legen Sie Schemas und Regeln als JSON in Ihrem Repo ab, synchronisieren Sie sie mit der CLI und rufen Sie sie mit dem SDK aus Ihrer App auf.

  1. Schemas abrufen

    blocks data schema pull schreibt jedes Schema als JSON nach blocks/data/schemas, damit Änderungen durch das Code-Review gehen.

  2. Synchronisieren und neu laden

    blocks data sync überträgt Schema- und Regeländerungen und lädt das Gateway neu. Führen Sie es zuerst mit --dry-run aus, um den Plan zu sehen.

  3. Aus Ihrer App lesen und schreiben

    data.collection() liefert Ihnen list, get, create, update und delete für ein Schema. Für Joins und eigene Query-Strukturen nutzen Sie data.graphql().

# Keep schemas in git as JSON
blocks data schema pull --json

# Push schema and rule changes, then reload the gateway
blocks data sync --dry-run --json
blocks data sync --yes --json

# Upload a private file
blocks data files upload --file ./invoice.pdf --parent-id <directoryId> \
  --configuration-name Default --access-modifier Private --dry-run --json

Datenbanken und Speicher

  • MongoDB Atlas
  • Azure Blob Storage
  • Amazon S3
  • S3-compatible (MinIO)
  • SFTP

Fragen zu Data

Welche Datenbanken unterstützt Data?

MongoDB. Jede Umgebung erhält eine Datenbank, die Blocks betreibt, oder Sie verbinden Ihren eigenen MongoDB-Atlas-Cluster mit einer Verbindungs-URL und einem Datenbanknamen.

Wie funktionieren die Zugriffsregeln?

Jedes Schema und jedes Feld hat eine Richtlinie: öffentlich, jeder angemeldete Benutzer oder eigene Regeln, die ID, E-Mail, Rollen oder Berechtigungen des Benutzers mit Feldern des Datensatzes vergleichen. Das Gateway wendet sie auf jede Query und jede Mutation an.

Wo werden Dateien gespeichert?

Standardmäßig in Azure Blob Storage. Sie können Amazon S3, S3-kompatiblen Speicher wie MinIO oder einen SFTP-Server als benannte Speicherkonfigurationen hinzufügen und pro Upload eine davon wählen.

Muss ich nach Schemaänderungen neu deployen?

Nein. Veröffentlichen Sie das Schema in der Konsole oder führen Sie blocks data sync aus, und das Gateway lädt mit den neuen Feldern neu.

Starten Sie mit einem kostenlosen Projekt

Registrieren Sie sich auf os.seliseblocks.com und erstellen Sie ein Projekt, oder fügen Sie einen einzigen Prompt in Claude Code, Codex oder Cursor ein und lassen Sie Ihren Agenten das Projekt über die Blocks CLI einrichten.