GSP1049
Übersicht
Cloud Spanner ist der vollständig verwaltete, horizontal skalierbare relationale Datenbankdienst von Google. Unternehmenskunden aus unterschiedlichsten Branchen wie Finanzdienstleistungen, Gaming und Einzelhandel nutzen ihn zur Ausführung anspruchsvollster umfangreicher Arbeitslasten, bei denen Konsistenz und Verfügbarkeit entscheidend sind.
In diesem Lab lernen Sie verschiedene Möglichkeiten kennen, Daten in Cloud Spanner zu laden und eine Sicherung Ihrer Datenbank zu erstellen.
Aufgaben
- Daten mit DML einfügen
- Daten über eine Clientbibliothek einfügen
- Batchdaten über eine Clientbibliothek einfügen
- Daten mit Dataflow laden
- Sicherung der Datenbank erstellen
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
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 Google Cloud-Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung 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:
- Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.
Lab starten und bei der Google Cloud Console anmelden
-
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld 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:
- Schaltfläche „Google Cloud Console öffnen“
- Restzeit
- Temporäre Anmeldedaten für das Lab
- Ggf. weitere Informationen für dieses Lab
-
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.
Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
-
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
{{{user_0.username | "Username"}}}
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.
{{{user_0.password | "Password"}}}
Sie finden das Passwort auch im Bereich „Details zum Lab“.
-
Klicken Sie auf Weiter.
Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos.
Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
-
Klicken Sie sich durch die nachfolgenden Seiten:
- Akzeptieren Sie die Nutzungsbedingungen.
- Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
- Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.
Cloud Shell aktivieren
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.
-
Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren
.
-
Klicken Sie sich durch die folgenden Fenster:
- Fahren Sie mit dem Informationsfenster zu Cloud Shell fort.
- Autorisieren Sie Cloud Shell, Ihre Anmeldedaten für Google Cloud API-Aufrufe zu verwenden.
Wenn eine Verbindung besteht, sind Sie bereits authentifiziert und das Projekt ist auf Project_ID, eingestellt. Die Ausgabe enthält eine Zeile, in der die Project_ID für diese Sitzung angegeben ist:
Ihr Cloud-Projekt in dieser Sitzung ist festgelegt als {{{project_0.project_id | "PROJECT_ID"}}}
gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
- (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
- Klicken Sie auf Autorisieren.
Ausgabe:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Um das aktive Konto festzulegen, führen Sie diesen Befehl aus:
$ gcloud config set account `ACCOUNT`
- (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project
Ausgabe:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Hinweis: Die vollständige Dokumentation für gcloud finden Sie in Google Cloud in der Übersicht zur gcloud CLI.
Aufgabe 1: Überblick über die Instanz verschaffen
Während der Bereitstellung wurden eine Cloud Spanner-Instanz, eine Cloud Spanner-Datenbank und eine Tabelle in der Datenbank für Sie erstellt.
- Öffnen Sie in der Console das Navigationsmenü (
) > Alle Produkte anzeigen. Klicken Sie im Abschnitt Datenbanken auf Cloud Spanner.
Der Name der Instanz lautet banking-instance. Klicken Sie auf den Namen, um sich einen Überblick über die Datenbanken zu verschaffen.
Die zugehörige Datenbank heißt banking-db.
Klicken Sie auf die Datenbank, um sie zu öffnen. Sie werden sehen, dass bereits eine Tabelle mit dem Namen Customer angelegt ist.
Klicken Sie auf die Tabelle, um das Schema aufzurufen.
- Die Tabelle ist noch leer. Gehen Sie zurück zur Übersichtsseite von
banking-db. Klicken Sie im Menü auf der linken Seite auf Spanner Studio und führen Sie den folgenden Befehl aus:
SELECT * FROM Customer;
- Es werden keine Ergebnisse zurückgegeben.
Aufgabe 2: Daten mit DML einfügen
DML ist die einfachste Methode, Daten in Cloud Spanner einzufügen. Mit der Cloud Shell und gcloud lassen sich beliebige DML-Anweisungen ausführen, einschließlich INSERT.
- Führen Sie in der Cloud Shell den folgenden Befehl aus:
gcloud spanner databases execute-sql banking-db --instance=banking-instance \
--sql="INSERT INTO Customer (CustomerId, Name, Location) VALUES ('bdaaaa97-1b4b-4e58-b4ad-84030de92235', 'Richard Nelson', 'Ada Ohio')"
- Kehren Sie zur Console zurück und klicken Sie im Menü auf der linken Seite auf Übersicht. Rufen Sie die Tabelle Customer auf und wählen Sie Daten aus. Sie sehen nun die gerade eingefügte Zeile.
Wie gesagt können Sie mit gcloud jeden beliebigen DML-Befehl ausführen. Nähere Informationen finden Sie in der Dokumentation zu DML und Cloud Spanner.
Allerdings ist es nicht sehr effizient, eine Datenbank zeilenweise zu laden.
Aufgabe 3: Daten über eine Clientbibliothek einfügen
Eine effizientere Methode für den Zugriff auf Cloud Spanner ist eine programmatische Schnittstelle. Dazu stehen eine Vielzahl von Clientbibliotheken zur Verfügung, etwa C++, C#, Go, Java, Node.js, PHP, Python und Ruby.
- Geben Sie in der Cloud Shell den nachfolgenden Befehl ein, um den Texteditor Nano aufzurufen und eine neue leere Konfigurationsdatei mit dem Namen insert.py zu erstellen.
nano insert.py
- Fügen Sie den unten aufgeführten Codeblock ein.
from google.cloud import spanner
from google.cloud.spanner_v1 import param_types
INSTANCE_ID = "banking-instance"
DATABASE_ID = "banking-db"
spanner_client = spanner.Client()
instance = spanner_client.instance(INSTANCE_ID)
database = instance.database(DATABASE_ID)
def insert_customer(transaction):
row_ct = transaction.execute_update(
"INSERT INTO Customer (CustomerId, Name, Location)"
"VALUES ('b2b4002d-7813-4551-b83b-366ef95f9273', 'Shana Underwood', 'Ely Iowa')"
)
print("{} record(s) inserted.".format(row_ct))
database.run_in_transaction(insert_customer)
-
Drücken Sie Strg + X, um Nano zu beenden, Y, um die Aktualisierung zu bestätigen, und die Eingabetaste, um die Änderungen zu speichern.
-
Führen Sie den Python-Code aus.
python3 insert.py
- Aktualisieren Sie die Cloud Console oder klicken Sie im Menü auf der linken Seite auf ein anderes Element und dann wieder auf Daten. Die neue Zeile wird in Ihrer Datenbank angezeigt.
Wie bei gcloud können Sie auch über die Clientbibliotheken jede beliebige DML-Anweisung ausführen. Zahlreiche Beispiele für die verschiedenen Programmiersprachen finden Sie in der Dokumentation.
Diese Methode ist flexibler als das Laden der Daten mit gcloud, hat aber immer noch Einschränkungen, nämlich wenn eine Quelle mit vielen Zeilen geladen wird.
- Klicken Sie auf Fortschritt prüfen.
Daten über eine Clientbibliothek einfügen
Aufgabe 4: Batchdaten über eine Clientbibliothek einfügen
Batchvorgänge sind eine noch effizientere Möglichkeit, Daten in Cloud Spanner zu laden. Alle Clientbibliotheken unterstützen das Laden per Batchvorgang. In diesem Beispiel wird Python verwendet.
- Geben Sie in der Cloud Shell den nachfolgenden Befehl ein, um den Texteditor Nano aufzurufen und eine neue leere Konfigurationsdatei mit dem Namen batch_insert.py zu erstellen.
nano batch_insert.py
- Fügen Sie den unten aufgeführten Codeblock ein.
from google.cloud import spanner
from google.cloud.spanner_v1 import param_types
INSTANCE_ID = "banking-instance"
DATABASE_ID = "banking-db"
spanner_client = spanner.Client()
instance = spanner_client.instance(INSTANCE_ID)
database = instance.database(DATABASE_ID)
with database.batch() as batch:
batch.insert(
table="Customer",
columns=("CustomerId", "Name", "Location"),
values=[
('edfc683f-bd87-4bab-9423-01d1b2307c0d', 'John Elkins', 'Roy Utah'),
('1f3842ca-4529-40ff-acdd-88e8a87eb404', 'Martin Madrid', 'Ames Iowa'),
('3320d98e-6437-4515-9e83-137f105f7fbc', 'Theresa Henderson', 'Anna Texas'),
('6b2b2774-add9-4881-8702-d179af0518d8', 'Norma Carter', 'Bend Oregon'),
],
)
print("Rows inserted")
-
Drücken Sie Strg + X, um Nano zu beenden, Y, um die Aktualisierung zu bestätigen, und die Eingabetaste, um die Änderungen zu speichern.
-
Führen Sie den Python-Code aus.
python3 batch_insert.py
- Gehen Sie zurück zur Cloud Console und aktualisieren Sie die Seite, um die neu eingefügten Daten zu sehen.
Die Batchmethode ist effizienter, da nur eine einzige Anfrage ausgeführt wird. Es ist also nur ein einziger Client-Server-Roundtrip notwendig, wodurch die Latenz reduziert wird.
Dennoch ist diese Methode zum Laden von Daten sehr langsam und ressourcenintensiv.
- Klicken Sie auf Fortschritt prüfen.
Batchdaten über eine Clientbibliothek einfügen
Aufgabe 5: Daten mit Dataflow laden
Dataflow ist ein Google Cloud-Dienst für das Streaming und die Batchverarbeitung großer Datenmengen. Dataflow nutzt dabei mehrere Worker, um die Datenverarbeitung parallel auszuführen. Wie die Daten konkret verarbeitet werden, wird mithilfe von Pipelines definiert. Sie transformieren die Daten auf ihrem Weg vom Ursprung (Quellen) zum Ziel (Senken).
Es gibt Connectors für Cloud Spanner, über die Sie Datenbanken als Quelle oder Senke in Dataflow einbinden können.
Beim Laden großer Datenmengen können Sie die leistungsstarke und serverlose verteilte Infrastruktur von Dataflow nutzen, um die Daten aus einer Quelle (z. B. einer CSV-Datei in Google Cloud Storage) zu lesen und über einen Sink-Connector in Ihre Cloud Spanner-Datenbank zu laden.
- Führen Sie zur Vorbereitung des Dataflow-Jobs in der Cloud Shell die nachfolgenden Befehle aus, um einen Bucket in Ihrem Projekt und einen Ordner mit einer leeren Datei zu erstellen.
gsutil mb gs://{{{project_0.project_id|Project ID}}}
touch emptyfile
gsutil cp emptyfile gs://{{{project_0.project_id|Project ID}}}/tmp/emptyfile
- Führen Sie den nachfolgenden Codeblock in der Cloud Shell aus, um sicherzustellen, dass die richtigen APIs und Berechtigungen festgelegt werden.
gcloud services disable dataflow.googleapis.com --force
gcloud services enable dataflow.googleapis.com
-
Öffnen Sie in der Console das Navigationsmenü (
) > Alle Produkte anzeigen. Klicken Sie im Abschnitt Analyse auf Dataflow.
-
Klicken Sie oben auf dem Bildschirm auf Job aus Vorlage erstellen.
-
Fügen Sie die folgenden Werte in die Vorlage ein:
-
Jobname: spanner-load
-
Regionaler Endpunkt:
-
Scrollen Sie in der Auswahl Dataflow-Vorlage nach unten, um alle Entwürfe zu sehen, die Sie mit Dataflow verwenden können. Selbstverständlich können Sie auch eigene Pipelines mit dem Beam SDK erstellen.
Es gibt zwei Haupttypen von Vorlagen:
-
Stream: Diese Vorlage ist für Daten gedacht, die kontinuierlich fließen und verarbeitet werden (z. B. Onlinebestellungen von einer Website).
-
Batch: Diese Vorlage ist für Datasets mit Anfang und Ende gedacht (z. B. in Google Cloud Storage gespeicherte Dateien).
Im Szenario dieses Labs laden Sie Daten aus einer CSV-Datei mit über 150.000 Zeilen in eine Cloud Spanner-Datenbank für ein Bankinstitut hoch
-
Wählen Sie die Vorlage Text Files on Cloud Storage to Cloud Spanner (Textdateien in Cloud Storage zu Cloud Spanner) aus.
-
Fügen Sie die folgenden Werte in die Vorlage ein:
| Element |
Wert |
|
Cloud Spanner Instance Id (ID der Cloud Spanner-Instanz) |
banking-instance |
|
Cloud Spanner Database Id (ID der Cloud Spanner-Datenbank) |
banking-db |
|
Text Import Manifest file (Manifestdatei für den Textimport) |
spls/gsp1049/manifest.json |
Das Dateiformat manifest.json wird im Tutorial zu dieser Vorlage erläutert. (Klicken Sie zum Öffnen direkt über den Eingabefeldern für die Parameter auf Tutorial öffnen.)
Die Manifestdatei muss in einem Google Cloud Storage-Bucket gespeichert sein, auf den Dataflow zugreifen und aus dem Dataflow lesen kann. Für dieses Lab sieht der Inhalt von manifest.json so aus:
{
"tables": [
{
"table_name": "Customer",
"file_patterns": [
"gs://spls/gsp1049/Customer_List.csv"
],
"columns": [
{"column_name" : "CustomerId", "type_name" : "STRING" },
{"column_name" : "Name", "type_name" : "STRING" },
{"column_name" : "Location", "type_name" : "STRING" }
]
}
]
}
In der Manifestdatei sind die Tabelle, Name und Typ der Spalten (in der Reihenfolge ihres Erscheinens in der CSV-Datei) und die CSV-Datei selbst angegeben, die ebenfalls in einem Google Cloud Storage-Bucket gespeichert ist.
Die CSV-Datei sieht so aus:
9d238899-8348-4642-9c00-77dc4481145b,Nicole Anderson,Ada Ohio
360ecaa6-9ec3-4fa0-81a5-3b0dc629e1fa,Ellen Richardson,Ada Ohio
8ee6c2ea-923b-45db-8d51-7f8e7a117af0,Wendy Daniel,Ada Ohio
1d7112cc-c1ee-414f-9325-95c97f9a25d3,Virginia Beasley,Ada Ohio
...
- Geben Sie für den Parameter Temporärer Speicherort den folgenden Wert ein:
{{{project_0.project_id|Project ID}}}/tmp
-
Maximieren Sie den Abschnitt Optionale Parameter.
-
Entfernen Sie das Häkchen für Standardmaschinentyp verwenden.
-
Wählen Sie unter Für allgemeine Zwecke Folgendes aus:
- Reihe: E2
- Maschinentyp: e2-medium (2 vCPUs, 4 GB Arbeitsspeicher)
-
Klicken Sie auf Job ausführen, um die Pipeline zu starten.
-
Die Ausführung des Prozesses dauert etwa 12 bis 16 Minuten. Sie werden sehen, dass Dataflow mehrere Phasen durchläuft. Zuerst werden die Worker gestartet und die Pipeline aus der Vorlage wird analysiert. Anschließend wird die Manifestdatei gelesen und die CSV-Datei wird verarbeitet.
Hinweis: Falls Ihre Pipeline mit einem Fehler fehlschlägt, weil die Worker-Knoten nicht bereitgestellt werden, erstellen Sie einen neuen Job mit demselben Namen aus derselben Vorlage, beginnend bei Schritt 4. Wählen Sie dieses Mal einen anderen regionalen Endpunkt in den USA aus. Wenn in Schritt 5 beispielsweise us-east4 als regionaler Endpunkt angegeben ist, versuchen Sie es beim zweiten Mal mit us-east1.
Warten Sie, bis Dataflow die Verarbeitung abgeschlossen hat, bevor Sie fortfahren. Der Status lautet dann Erfolgreich.
-
Kehren Sie zu Cloud Spanner zurück, indem Sie den Dienst in der Cloud Console im Menü auf der linken Seite auswählen. Rufen Sie die Tabelle Customer auf und wählen Sie Daten aus. Sie sehen alle neuen Zeilen, die mit Dataflow geladen wurden.
-
Gehen Sie zurück zur Übersichtsseite von banking-db. Klicken Sie im Menü auf der linken Seite auf Spanner Studio und führen Sie den folgenden Befehl aus, um die Gesamtzahl der Zeilen in der Tabelle Customer zu sehen:
SELECT COUNT(*) FROM Customer;
Mit Dataflow-Vorlagen lassen sich große Datenmengen einfach und schnell laden. Sie können Dumps aus anderen Datenbanken und neben CSV-Dateien auch Avro-Dateien laden – die Vorgehensweise ist immer gleich. Sie können den Prozess sogar umkehren und Ihre Cloud Spanner-Datenbank als Quelle in Dataflow verwenden, um die Daten im CSV- oder Avro-Format zu exportieren.
- Klicken Sie auf Fortschritt prüfen.
Daten mit Dataflow laden
Aufgabe 6: Sicherung der Datenbank erstellen
Der oben beschriebene Dataflow-Prozess ist eine Möglichkeit zum Sichern Ihrer Daten. Cloud Spanner verfügt jedoch auch über ein eigenes Tool für Sicherungen.
Sie können eine Cloud Spanner-Datenbank über die Cloud Console, über Clientbibliotheken oder über gcloud-Befehle sichern. Die entsprechende Dokumentation finden Sie jeweils unter den oben aufgeführten Links.
In diesem Lab verwenden Sie die Cloud Console, um Ihre Datenbank zu sichern.
-
Wählen Sie im Menü auf der linken Seite Sicherung/Wiederherstellung aus.
-
Klicken Sie auf Sicherung erstellen.
-
Geben Sie die folgenden Werte im Assistenten ein oder wählen Sie sie aus:
| Element |
Wert |
| Datenbankname |
banking-db |
| Sicherungsname |
banking-backup-001 |
| Ablaufdatum |
1 Jahr |
-
Klicken Sie auf Erstellen.
-
Die Erstellung der Sicherung dauert etwa 15 Minuten. Sie wird bereits während der Erstellung in der Liste Sicherungen angezeigt.
Geschafft!
Sie haben jetzt solide Kenntnisse über die verschiedenen Möglichkeiten, Daten in eine Cloud Spanner-Instanz zu laden und Sicherungen durchzuführen.
Google Cloud-Schulungen und -Zertifizierungen
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 aktualisiert am 16. September 2025
Lab zuletzt getestet am 16. September 2025
© 2026 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.