Ziele
In dieser Anleitung werden Sie durch die folgenden Schritte mit der Spanner-Clientbibliothek für C++ geführt:
- Spanner-Instanz und -Datenbank erstellen
- SQL-Abfragen für Daten in der Datenbank schreiben, lesen und ausführen
- Datenbankschema aktualisieren
- Daten mit einer Lese-Schreib-Transaktion aktualisieren
- Sekundären Index für die Datenbank hinzufügen
- Mit dem Index Daten lesen und SQL-Abfragen ausführen
- Daten über eine schreibgeschützte Transaktion abrufen
Kosten
In dieser Anleitung wird Spanner verwendet, eine kostenpflichtige Komponente vonGoogle Cloud. Informationen zu den Kosten für die Verwendung von Cloud Spanner finden Sie unter Preise.
Hinweis
Führen Sie die unter Einrichten beschriebenen Schritte aus, die das Erstellen und Festlegen eines Standardprojekts Google Cloud , das Aktivieren der Abrechnung, das Aktivieren der Cloud Spanner API und das Einrichten von OAuth 2.0 umfassen, um Anmeldedaten für die Authentifizierung für die Verwendung der Cloud Spanner API zu erhalten.
Sie müssen insbesondere gcloud auth
application-default login ausführen, um die lokale Entwicklungsumgebung mit Anmeldedaten für die Authentifizierung einzurichten.
Lokale C++-Umgebung vorbereiten
Klonen Sie das Repository der Beispiel-App auf Ihren lokalen Computer:
git clone https://github.com/googleapis/google-cloud-cpp $HOME/google-cloud-cppInstallieren Sie Bazel für Linux mithilfe dieser Anleitung.
Wechseln Sie in das Verzeichnis, das den Spanner-Beispielcode enthält:
cd $HOME/google-cloud-cppErstellen Sie die Beispiele mit diesem Befehl:
bazel build //google/cloud/spanner/samples:samplesRichten Sie die Authentifizierung und Autorisierung für das Projekt
google-cloud-cppein.gcloud auth application-default loginErstellen Sie eine Umgebungsvariable mit dem Namen
PROJECT_ID. Ersetzen Sie [MY_PROJECT_ID] durch Ihre Google Cloud Projekt-ID. Sie finden sie auf der Begrüßungsseite Ihres Projekts.export PROJECT_ID=[MY_PROJECT_ID]
Instanz erstellen
Wenn Sie Spanner zum ersten Mal verwenden, müssen Sie eine Instanz erstellen. Dabei handelt es sich um eine Zuordnung von Ressourcen, die von Spanner-Datenbanken verwendet werden. Wenn Sie eine Instanz erstellen, müssen Sie eine Instanzkonfiguration auswählen. Abhängig davon werden der Speicherort Ihrer Daten sowie die Anzahl der zu verwendenden Knoten festgelegt. Anhand der Knotenanzahl wird dann die Menge der Bereitstellungs- und Speicherressourcen in Ihrer Instanz festgelegt.
Informationen zum Erstellen einer Spanner-Instanz mit einer der folgenden Methoden finden Sie unter Instanz erstellen. Sie können Ihre Instanz test-instance nennen, um sie mit anderen Themen in diesem Dokument zu verwenden, in denen auf eine Instanz mit dem Namen test-instance verwiesen wird.
- Google Cloud CLI
- Die Google Cloud Console
- Eine Clientbibliothek (C++, C#, Go, Java, Node.js, PHP, Python oder Ruby)
Beispieldateien ansehen
Das Beispiel-Repository enthält ein Beispiel für die Verwendung von Spanner mit C++.
Sehen Sie in der Datei google/cloud/spanner/samples/samples.cc nach, wie Sie eine Datenbank erstellen und ein Datenbankschema ändern. In den Daten wird das auf der Seite Schema und Datenmodell angezeigte Beispielschema verwendet.
Datenbank erstellen
GoogleSQL
bazel run //google/cloud/spanner/samples:samples -- \
create-database PROJECT_ID test-instance example-db
PostgreSQL
bazel run //google/cloud/spanner/samples:postgresql_samples -- \
create-database PROJECT_ID test-instance example-db
bazel run //google/cloud/spanner/samples:postgresql_samples -- \
interleaved-table PROJECT_ID test-instance example-db
Hier sollten Sie dies sehen:
Created database [projects/${PROJECT_ID}/instances/test-instance/databases/example-db]