
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create test data for the Firestore Database
/ 50
Import test data into the Firestore Database
/ 50
Vor zwölf Jahren gründete Lily die Tierklinikkette „Pet Theory“, die in den letzten Jahren stark gewachsen ist. Das alte Terminplanungssystem kann die gestiegene Arbeitslast jedoch nicht mehr verarbeiten, weshalb Lily Sie bittet, ein cloudbasiertes System zu entwickeln, das besser skalierbar ist als die bisherige Lösung.
Das Ops-„Team" von Pet Theory besteht nur aus Patrick. Deshalb ist es wichtig, dass die Lösung möglichst wenig Wartung erfordert. Das Unternehmen entschied sich daher für eine serverlose Technologie.
Ruby wurde als Beraterin engagiert, um Pet Theory beim Wechsel auf eine serverlose Architektur zu unterstützen. Nach einem Vergleich verschiedener serverloser Datenbanken hat sich das Team für Cloud Firestore entschieden. Firestore arbeitet serverlos. Kapazität muss daher nicht im Voraus bereitgestellt werden und es besteht nicht die Gefahr, an Speicher- oder Leistungsgrenzen zu stoßen. Firestore verwendet Echtzeit-Listener für die Datensynchronisierung zwischen Client-Apps und ist auf Mobilgeräten und im Web offline nutzbar, sodass sich eine reaktionsfähige App entwickeln lässt, die unabhängig von Netzwerklatenz und Internetverbindung funktioniert.
In diesem Lab helfen Sie Patrick dabei, die aktuellen Datenbestände von Pet Theory in eine Cloud Firestore-Datenbank hochzuladen. Ruby ist ebenfalls am Projekt beteiligt.
Dieses Diagramm gibt Ihnen einen Überblick über die zu verwendenden Dienste und darüber, wie sie miteinander verbunden sind.
Aufgaben in diesem Lab:
Dies ist ein Einführungs-Lab. Es setzt Vertrautheit mit der Cloud Console und Shell-Umgebungen voraus. Erfahrung mit Firebase ist hilfreich, aber nicht zwingend erforderlich.
Sie sollten Dateien bearbeiten können. Sie können dafür einen beliebigen Texteditor verwenden (z. B. nano
oder vi
) oder den Code-Editor von Cloud Shell nutzen. Dieser wird in der oberen Funktionsleiste aufgerufen:
Sobald Sie bereit sind, können Sie nach unten scrollen und die dort aufgeführten Schritte zur Einrichtung Ihrer Lab-Umgebung befolgen.
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich Details zum Lab mit diesen Informationen:
Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).
Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite Anmelden geöffnet.
Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
Sie finden den Nutzernamen auch im Bereich Details zum Lab.
Klicken Sie auf Weiter.
Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.
Sie finden das Passwort auch im Bereich Details zum Lab.
Klicken Sie auf Weiter.
Klicken Sie sich durch die nachfolgenden Seiten:
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.
Wenn Sie verbunden sind, sind Sie bereits authentifiziert und das Projekt ist auf Ihre Project_ID,
gcloud
ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
Ausgabe:
Ausgabe:
gcloud
finden Sie in Google Cloud in der Übersicht zur gcloud CLI.
Patrick soll die aktuellen Datenbestände von Pet Theory in eine Cloud Firestore-Datenbank hochladen. Dabei wird er eng mit Ruby zusammenarbeiten. Ruby erhält eine Nachricht von Patrick aus der IT-Abteilung…
Patrick, IT-Administrator |
Hallo Ruby, für unsere serverlose Lösung müssen wir zuerst mit Google Cloud eine Firestore-Datenbank erstellen. Kannst du mir helfen? Ich weiß nicht so genau, wie ich sie einrichten soll. Patrick |
Ruby, Softwareberaterin |
Hallo Patrick, na klar, ich bin dir gerne behilflich. Für den Anfang sende ich dir ein paar Informationen. Melde dich wieder, sobald du die Datenbank erstellt hast. Ruby |
Richten Sie mit Patrick über die Cloud Console eine Firestore-Datenbank ein.
Wählen Sie in der Cloud Console im Navigationsmenü die Option Firestore aus.
Klicken Sie auf +Datenbank erstellen.
Wählen Sie die Option Nativer Modus aus und klicken Sie auf Weiter.
Nach Abschluss des Vorgangs erhält Patrick eine E-Mail von Ruby…
Ruby, Softwareberaterin |
Hallo Patrick, bisher lief ja alles prima! Zur Verwaltung des Datenbankzugriffs verwenden wir ein Dienstkonto, das automatisch erstellt und mit den erforderlichen Berechtigungen ausgestattet wurde. Jetzt ist alles bereit, um die alte Datenbank auf Firestone zu migrieren. Ruby |
Patrick, IT-Administrator |
Hallo Ruby, vielen Dank für deine Hilfe. Die Firestore-Datenbank einzurichten war wirklich nicht schwer. Ich hoffe, der Datenbankimport lässt sich einfacher bewerkstelligen als bei der alten Datenbank. Da war er ziemlich aufwendig und langwierig. Patrick |
Die neue Cloud Firestore-Datenbank ist erstellt, muss aber noch gefüllt werden. Die Kundendaten von Pet Theory befinden sich nach wie vor nur in der alten Datenbank.
Patrick sendet eine Nachricht an Ruby…
Patrick, IT-Administrator |
Hallo Ruby, mein Manager würde gerne die Kundendaten in die neue Firestore-Datenbank migrieren. Ich habe die alte Datenbank als CSV-Datei exportiert, bin aber unsicher, wie ich die Daten jetzt in die Firestore-Datenbank bekommen soll. Hast du einen Tipp für mich? Patrick |
Ruby, Softwareberaterin |
Hallo Patrick, na klar, lass uns einen Termin vereinbaren. Dann können wir alles Nötige besprechen. Ruby |
Wie Patrick bereits erwähnt hat, liegen die Kundendaten als CSV-Datei vor. Patrick benötigt nun eine App, die die Kundendatensätze aus einer CSV-Datei auslesen und in Firestore schreiben kann. Da Patrick sich mit JavaScript auskennt, erstellen Sie diese Anwendung mit der JavaScript-Laufzeit Node.js.
lab01
:Das Verzeichnis enthält Patricks Datei package.json
. In dieser Datei sind die von Ihrem Node.js-Projekt benötigten Pakete aufgelistet, sodass Ihr Build reproduzierbar bleibt und sich einfacher mit anderen teilen lässt.
Hier sehen Sie ein Beispiel einer solchen Datei:
Nachdem Patrick seinen Quellcode importiert hat, fragt er Ruby, welche Pakete er für die Migration benötigt.
Patrick, IT-Administrator |
Hallo Ruby, mein Code für die alte Datenbank erstellt einfach nur eine CSV-Datei, die für den Import verwendet werden kann. Muss ich sonst noch etwas herunterladen, bevor ich loslegen kann? Patrick |
Ruby, Softwareberaterin |
Hallo Patrick, ich schlage vor, du verwendest eines der vielen @google-cloud-Node-Pakete für die Interaktion mit Firestore. Dann brauchst du nur noch ein paar Kleinigkeiten anzupassen, weil der Großteil des Codes schon steht. Ruby |
Damit Patricks Code in die Firestore-Datenbank schreiben kann, müssen Sie einige zusätzliche Peer-Abhängigkeiten installieren.
Nachdem der Befehl erfolgreich ausgeführt wurde, wird die Datei package.json
automatisch um die neuen Peer-Abhängigkeiten ergänzt und sieht dann so aus:
Als Nächstes sehen wir uns das Skript an, mit dem die CSV-Datei ausgelesen und für jede Zeile in der CSV-Datei ein Datensatz in Firestore geschrieben wird. Patricks ursprüngliche Anwendung sehen Sie hier:
Mit dem Code werden Daten aus einer verarbeiteten CSV-Datei in die alte Datenbank importiert. Sie müssen den Code also nun so ändern, dass die Daten in die Firestore-Datenbank geschrieben werden.
pet-theory/lab01/importTestData.js
.Um in der Anwendung auf die Firestore API zu verweisen, fügen Sie der vorhandenen Codebasis die Peer-Abhängigkeit hinzu.
Der Anfang der Datei sollte so aussehen:
Die Integration mit der Firestore-Datenbank gelingt mit wenigen Zeilen Code. Ruby hat Ihnen und Patrick zu diesem Zweck ein Codebeispiel zukommen lassen.
if (process.argv.length < 3)
ein:Das oben gezeigte Code-Snippet deklariert ein neues Datenbankobjekt, das auf die Datenbank verweist, die zuvor in diesem Lab erstellt wurde. Die Funktion verwendet einen Batchprozess, der jeden Datensatz einzeln verarbeitet und basierend auf der hinzugefügten Kennung einen Dokumentverweis festlegt. Am Ende der Funktion wird für den Batchinhalt ein Commit durchgeführt, d. h. der Inhalt wird in die Datenbank geschrieben.
importCsv
. Fügen Sie den Funktionsaufruf writeToFirestore ein und entfernen Sie den Aufruf writeToDatabase. Das sollte so aussehen:Der Anfang der Datei sollte so aussehen:
importCsv
direkt unter der Zeile „console.log(Wrote ${records.length} records
);“ Code für das Schreiben der Logs ein:Nach diesen Anpassungen sollte der Codeblock der Funktion importCsv
so aussehen:
Wird der Anwendungscode jetzt ausgeführt, wird die Firestore-Datenbank mit den Daten aus der CSV-Datei aktualisiert. Die Funktion importCsv
orientiert sich am Dateinamen und verarbeitet den Dateiinhalt zeilenweise. Jede verarbeitete Zeile wird an die Firestore-Funktion writeToFirestore
gesendet, die neue Datensätze in die Kundendatenbank schreibt.
Jetzt geht es an den Datenimport! Patrick schreibt Ruby, weil er Bedenken hat, für den Testlauf tatsächliche Kundendaten zu verwenden…
Patrick, IT-Administrator |
Hallo Ruby, ich glaube es wäre besser, für Tests keine Kundendaten zu verwenden. Einerseits müssen wir prüfen, ob unser Skript für den Datenimport funktioniert, andererseits soll natürlich der Datenschutz für den Kunden gewährleistet sein. Fällt dir eine andere Möglichkeit für einen Test ein? Patrick |
Ruby, Softwareberaterin |
Hallo Patrick, du hast natürlich völlig recht. Ein schwieriges Thema, weil die Kundendaten personenidentifizierbare Informationen enthalten könnten, auch PII genannt. Ich kann dir Code zur Verfügung stellen, mit dem sich Pseudo-Kundendaten erzeugen lassen. Mit denen können wir dann das Importskript testen. Ruby |
Helfen Sie Patrick dabei, diesen Pseudo-Zufallsdatengenerator zum Laufen zu bringen.
package.json
:Der Anfang der Datei sollte jetzt so aussehen:
const
-Anweisungen einige konstante Variablen hinzu und initialisieren Sie den Logging-Client:Created file ${fileName} containing ${recordCount} records.
);“ Code ein, mit dem die Logs geschrieben werden:createTestData
so aussehen:customers_1000.csv
mit 1.000 Testdatensätzen zu erstellen:Die Ausgabe sollte ungefähr so aussehen:
customers_1000.csv
und prüfen Sie, ob die Testdaten erzeugt wurden.Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen. Wenn die Testdaten für die Firestore-Datenbank erstellt wurden, erhalten Sie ein Testergebnis.
Die Ausgabe sollte ungefähr so aussehen:
Führen Sie dann den folgenden Befehl aus, um das Paket csv-parse
zu Ihrer Umgebung hinzuzufügen:
In den letzten Abschnitten haben Sie gemeinsam mit Patrick und Ruby Testdaten erzeugt und ein Skript für den Import dieser Daten in Firestore geschrieben. Patrick ist jetzt zuversichtlich, dass er mit dem Laden der Kundendaten in die Firestore-Datenbank gut zurechtkommt.
Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen. Wenn Sie die Testdaten erfolgreich in die Firestore-Datenbank importiert haben, erhalten Sie ein Testergebnis.
Dank Ihrer Unterstützung und mit Tipps von Ruby konnte Patrick die Testdaten in die Firestore-Datenbank migrieren. Öffnen Sie Firestore und sehen Sie sich das Ergebnis an!
Geben Sie /customers
ein und drücken Sie die Eingabetaste.
Aktualisieren Sie den Browser-Tab. Die folgende Liste mit erfolgreich migrierten Kunden sollte zu sehen sein:
Im Verlauf dieses Labs konnten Sie praktische Erfahrungen mit Firestore sammeln. Sie haben Pseudo-Kundendaten für Testzwecke generiert und dann ein Skript ausgeführt, mit dem sie in Firestore importiert wurden. Anschließend haben Sie die Daten in Firestore über die Cloud Console bearbeitet.
In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.
Anleitung zuletzt am 28. Februar 2024 aktualisiert
Lab zuletzt am 28. Februar 2024 getestet
© 2025 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.
Diese Inhalte sind derzeit nicht verfügbar
Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail
Sehr gut!
Bei Verfügbarkeit kontaktieren wir Sie per E-Mail
One lab at a time
Confirm to end all existing labs and start this one