Quickstarters
Feature Overview
Wie man ein Backend für Deno erstellt?
34 min
einführung in diesem tutorial lernen sie, wie sie ein backend für deno mit back4app erstellen wir werden jeden schritt durchgehen, um die wichtigsten funktionen von back4app—datenbank, rest apis, benutzerauthentifizierung, dateispeicherung und live abfragen—in eine deno umgebung zu integrieren sie werden sehen, wie sie über rest endpunkte mit back4app kommunizieren und eine vollständige infrastruktur erstellen, ohne selbst server verwalten zu müssen wenn sie back4app verwenden, können sie die manuelle konfiguration von servern mit deno überspringen, was zeit und mühe spart sie werden sich darauf konzentrieren, einfacheren code zu schreiben, dank der standardbibliothek von deno und des modernen ansatzes am ende dieses leitfadens zum erstellen eines backends für deno werden sie einen klaren weg haben, um erweiterte sicherheit, cloud code und geplante aufgaben in ihre deno anwendung zu integrieren sobald sie dieses tutorial abgeschlossen haben, können sie den server ausführen, rest apis verwalten, die benutzerauthentifizierung integrieren, dateien speichern und aufgaben einfach planen sie werden auch verstehen, wie sie ihre daten mit deno’s fetch ansatz unter verwendung der back4app rest api verwalten voraussetzungen ein back4app konto und ein neues back4app projekt erste schritte mit back4app https //www back4app com/docs/get started/new parse app wenn sie kein konto haben, können sie eines kostenlos erstellen verwenden sie den obigen link, um ihr projekt vorzubereiten deno installieren sie können deno unter https //deno land https //deno land installieren sie deno auf ihrem betriebssystem und bestätigen sie dies mit deno version vertrautheit mit grundlegenden deno konzepten wie module, dateisysteme, deno run allow net , oder wie man anwendungs module aus der standardbibliothek importiert grundkenntnisse über rest apis wir werden fetch aufrufe und den header inhaltstyp für die datenverarbeitung verwenden, also stellen sie sicher, dass sie die grundlagen von rest und json kennen stellen sie sicher, dass sie diese voraussetzungen haben, bevor sie beginnen wenn ihr back4app projekt konfiguriert und ihre lokale deno umgebung läuft, können sie diesem tutorial reibungslos folgen schritt 1 – erstellen eines neuen projekts auf back4app und verbindung herstellen ein neues projekt erstellen die grundlage für dein deno backend ist ein back4app projekt wenn du noch keins erstellt hast melde dich bei deinem back4app konto an klicke auf die schaltfläche „neue app“ in deinem back4app dashboard gib deiner app einen namen (z b „deno backend tutorial“) sobald dein projekt bereit ist, wird es in deinem back4app dashboard angezeigt dieses projekt ist der ort, an dem du datenbanken, sicherheit und apis einrichtest verbinde dich mit back4app über rest da wir kein parse sdk für deno haben, werden wir die rest api endpunkte von back4app verwenden du kannst die anwendungs id , rest api schlüssel , und server url in den app einstellungen oder im abschnitt sicherheit & schlüssel finden in diesem tutorial verwenden wir fetch um anfragen von deno an back4app zu senden stellen sie sicher, dass sie ihren api schlüssel und den inhaltstyp der header in jedem aufruf einfügen schritt 2 – datenbank einrichten in diesem schritt erstellen sie ein datenmodell auf back4app und interagieren mit ihm über rest apis von deno erstellen eines datenmodells gehen sie zum abschnitt “datenbank” in ihrem back4app dashboard klicken sie auf “eine neue klasse erstellen” und benennen sie sie zum beispiel “todo ” fügen sie relevante spalten hinzu (z b titel (string), istabgeschlossen (boolean)) sie können auch zulassen, dass parse diese spalten automatisch erstellt, wenn daten gespeichert werden erstellen eines datenmodells mit dem ki agenten der ki agent von back4app kann ihr schema für sie entwerfen öffnen sie den ki agenten in ihrem back4app dashboard beschreiben sie ihr datenmodell (z b „erstellen sie eine todo klasse mit einem titel, einer beschreibung und einem iscompleted feld “) erlauben sie dem agenten, das schema automatisch zu generieren dies hilft ihnen, komplexere schemata schnell zu verwalten daten lesen und schreiben mit der rest api von deno aus können sie den server starten, indem sie rest endpunkte mit fetch zum beispiel, um ein todo zu erstellen // file called createtodo ts export async function createtodoitem(title string, iscompleted boolean) { const url = "https //parseapi back4app com/classes/todo"; const body = json stringify({ title, iscompleted }); const response = await fetch(url, { method "post", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json", }, body, }); if (!response ok) { throw new error(`error saving todo ${response statustext}`); } const result = await response json(); return result; } um todos abzurufen // file called fetchtodos ts export async function fetchtodos() { const url = "https //parseapi back4app com/classes/todo"; const response = await fetch(url, { method "get", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", }, }); if (!response ok) { throw new error(`error fetching todos ${response statustext}`); } const result = await response json(); return result; } sie können diese mit folgendem befehl ausführen deno run allow net createtodo ts daten lesen und schreiben mit der graphql api back4app bietet auch einen graphql endpunkt https //parseapi back4app com/graphql back4app bietet auch einen graphql endpunkt https //parseapi back4app com/graphql // file called createtodographql ts export async function createtodographql(title string) { const mutation = ` mutation { createtodo(input { fields { title "${title}" iscompleted false } }) { todo { objectid title iscompleted } } } `; const response = await fetch("https //parseapi back4app com/graphql", { method "post", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json", }, body json stringify({ query mutation }), }); const result = await response json(); return result; } arbeiten mit live abfragen (optional) live abfragen aktualisieren sie in echtzeit, aber deno hat keine native parse livequery bibliothek sie können dennoch die live query funktion in ihrem back4app dashboard für andere clients einrichten oder ein websocket in deno verwenden, um manuell zu abonnieren weitere details finden sie in der offiziellen live query dokumentation https //www back4app com/docs/platform/live queries schritt 3 – anwendung von sicherheit mit acls und clps übersicht die acls (access control lists) und clps (class level permissions) von back4app schützen ihre daten verwenden sie clps, um standardregeln für eine gesamte klasse festzulegen verwenden sie dann acls für objektbezogene einschränkungen einrichten von klassenebenenberechtigungen öffnen sie die datenbank sektion in ihrem back4app dashboard wählen sie eine klasse (zum beispiel „todo“) gehen sie zu den klassenberechtigungen tab aktivieren oder deaktivieren sie lese /schreibzugriff für die öffentlichkeit oder für authentifizierte benutzer nach bedarf konfigurieren von acls beim erstellen oder aktualisieren eines objekts über rest können sie ein acl attribut im anfragekörper einfügen zum beispiel const body = json stringify({ title "private task", acl { " " { "read" false, "write" false }, "role\ admins" { "read" true, "write" true }, } }); dieses beispiel erlaubt nur der rolle „admins“ das lesen oder schreiben der öffentliche zugriff ist deaktiviert schritt 4 – schreiben von cloud code funktionen warum cloud code cloud code ist der ort, an dem sie sichere serverseitige logik speichern sie verwalten die server nicht selbst sie können validierungen oder trigger für bestimmte klassen hinzufügen beispiel für eine cloud code funktion sie können eine cloud funktion (in javascript) definieren und in ihrer app bereitstellen zum beispiel könnte eine funktion zur überprüfung der textlänge so aussehen parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw "text parameter is required"; } return { length text length }; }); bereitstellung sie können code über die back4app cli https //www back4app com/docs/local development/parse cli oder das cloud code panel in ihrem back4app dashboard bereitstellen npm im cloud code sie können externe bibliotheken mit require() nach der bereitstellung wird die serverumgebung sie ausführen dies ist hilfreich für fortgeschrittene aufgaben, aber denken sie daran, dass das ausführen von deno von ihrer cloud code umgebung auf back4app getrennt ist schritt 5 – konfigurieren der authentifizierung authentifizierung aktivieren back4app verwendet die parse benutzerklasse zur authentifizierung während sie mit deno arbeiten, können sie rest endpunkte aufrufen, um benutzer zu verwalten registrieren und anmelden mit rest async function signupuser(username string, password string, email string) { const url = "https //parseapi back4app com/users"; const body = json stringify({ username, password, email }); const response = await fetch(url, { method "post", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json", }, body, }); return await response json(); } async function loginuser(username string, password string) { const url = `https //parseapi back4app com/login?username=${username}\&password=${password}`; const response = await fetch(url, { method "get", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", }, }); return await response json(); } sozialer login sie können google, facebook, apple und andere anbieter auf back4app einrichten dann rufen sie die speziellen endpunkte mit oauth token auf siehe back4app’s dokumentation zum sozialen login https //www back4app com/docs/platform/sign in with apple für details schritt 6 – umgang mit dateispeicher dateien hochladen und abrufen um dateien von deno hochzuladen, verwenden sie eine post anfrage an https //parseapi back4app com/files/\<filename> zum beispiel async function uploadfile(filedata uint8array, filename string) { const url = `https //parseapi back4app com/files/${filename}`; const response = await fetch(url, { method "post", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "image/png", }, body filedata, }); return await response json(); } sie können die resultierende date url dann in ihren klassenobjekten speichern diese methode ist perfekt zum speichern von bildern oder dokumenten, während sie den server in deno ausführen schritt 7 – e mail verifizierung und passwortzurücksetzung übersicht die verifizierung von e mails gewährleistet legitimen zugang die passwortzurücksetzung hilft benutzern, sicher wieder zugang zu erhalten dashboard konfiguration e mail verifizierung aktivieren in ihrem back4app dashboard unter e mail einstellungen passen sie an ihre verifizierungsvorlagen passwortzurücksetzung aktivieren und ihr bevorzugtes e mail layout festlegen wenn sich ein benutzer anmeldet, erhält er einen bestätigungslink, wenn sie die e mail bestätigung aktiviert haben für die passwortzurücksetzung rufen sie den rest endpunkt post /requestpasswordreset auf schritt 8 – aufgaben mit cloud jobs planen übersicht über cloud jobs cloud jobs werden regelmäßig ohne menschliches eingreifen ausgeführt zum beispiel können sie täglich alte datensätze löschen oder routinemäßige e mail erinnerungen senden parse cloud job("cleanupoldtodos", async (request) => { const todo = parse object extend("todo"); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now\ valueof() thirty days); query lessthan("createdat", cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); nach der bereitstellung dieses jobs können sie ihn in app einstellungen > servereinstellungen > hintergrundjobs auf ihrem back4app dashboard planen schritt 9 – webhooks integrieren definition ein webhook ist ein http callback, der ausgelöst wird, wenn ereignisse eintreten, wie z b die erstellung oder aktualisierung von objekten sie können mit slack, stripe oder einem anderen externen dienst integrieren konfiguration öffnen sie „mehr“ > „webhooks“ im back4app dashboard klicken sie auf „webhook hinzufügen“ und geben sie den endpunkt ihres drittanbieterdienstes an legen sie fest welche trigger oder klassen sie anfordern möchten dies ermöglicht externen systemen, daten zu erhalten, wann immer sie objekte in back4app erstellen oder ändern schritt 10 – erforschen des back4app admin panels einführung in das admin panel nicht technische teams können dieses panel nutzen, um daten visuell zu verwalten es vereinfacht crud operationen und datenüberprüfungen so aktivieren sie es gehen sie zu app dashboard > mehr > admin app und wählen sie „admin app aktivieren “ erstellen sie einen admin benutzer um sich anzumelden legen sie eine subdomain fest für ihre admin app sie können sich dann in die admin app einloggen, um datensätze sicher zu verwalten fazit in diesem tutorial haben sie gelernt, wie man ein backend für deno auf back4app erstellt sie haben datenmodelle erstellt, die benutzerauthentifizierung behandelt, über acls und clps für sicherheit gelernt und cloud jobs geplant sie haben auch gesehen, wie man externe apis über webhooks integriert und wie man den server oder rest apis mit deno run allow net befehlen ausführt dieses setup ermöglicht es ihnen, schnell zu starten, ohne dateisysteme oder die komplexität der standardbibliothek für die serverarchitektur manuell zu konfigurieren nächste schritte erweitern sie ihre deno anwendung mit zusätzlichen endpunkten und fortgeschrittener logik mithilfe von cloud code integrieren sie weitere dienste (z b zahlungs gateways, analysen) mit ihren back4app daten verweisen sie auf die offizielle dokumentation von back4app für tiefere sicherheit, leistung und tipps zur protokollanalyse experimentieren sie mit fortgeschrittenen echtzeitfunktionen oder deno kv speicher, um daten zwischen ihrer deno laufzeit und der robusten umgebung von back4app zu überbrücken mit ihrem neuen wissen können sie sicher ein sicheres, skalierbares und funktionsreiches deno backend bereitstellen, das von back4app unterstützt wird