C++ Hello World
Dieses Beispiel ist eine einfache „Hello World“-Anwendung, die in C++ geschrieben wurde. Sie veranschaulicht Folgendes:
- Authentifizierung einrichten
- Verbindung zu einer Bigtable-Instanz herstellen
- Erstellen einer neuen Tabelle
- Schreiben von Daten in die Tabelle
- Lesen von Daten aus der Tabelle
- Löschen einer Tabelle
Authentifizierung einrichten
Wenn Sie die C++-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzer konto:
gcloud auth application-default login
Wenn Sie Cloud Shell verwenden, ist dies nicht erforderlich.
Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.
Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Beispiel ausführen
Dieses Beispiel nutzt das Cloud Bigtable-Paket der Google Cloud Clientbibliothek für C++, um mit Bigtable zu kommunizieren.
Für die Ausführung dieses Beispielprogramms folgen Sie der Anleitung auf GitHub.
Clientbibliothek mit Bigtable verwenden Google Cloud
Die Beispielanwendung stellt eine Verbindung zu Bigtable her und zeigt einige einfache Vorgänge.
Clientbibliothek importieren und installieren
Laden Sie die Bigtable-Clientbibliothek für C++ von GitHub herunter oder klonen Sie sie, und kompilieren Sie diese anschließend. Folgen Sie der Compiler Anleitung in der README auf oberster Ebene.
Fügen Sie die erforderlichen Header hinzu.
Verbindung zu Bigtable herstellen
Verwenden Sie MakeBigtableTableAdminConnection(), um
einen BigtableTableAdminClient zu erstellen, mit dem
Sie dann eine Tabelle anlegen.
Tabelle erstellen
Definieren Sie ein Schema für die Tabelle mit einer Spaltenfamilie. Legen Sie eine Regel für die automatische Speicherbereinigung für die Spaltenfamilie fest, um maximal eine Version jedes Werts beizubehalten. Verwenden Sie dieses Schema, um ein Tabellenobjekt mit BigtableTableAdminClient::CreateTable() zu instanziieren. Erstellen Sie dann einen Datenclient, mit dem Sie Daten in Ihre Tabelle einfügen und daraus entfernen können.
Zeilen in eine Tabelle schreiben
Sie durchlaufen eine Liste mit Begrüßungsstrings in einer Schleife, um einige neue Zeilen für die Tabelle zu erstellen.
In jeder Iteration verwenden Sie SingleRowMutation, um eine Zeile zu definieren und dieser einen Zeilenschlüssel zuzuweisen. Rufen Sie dann Table::Apply() auf, um die Mutation auf die Zeile anzuwenden.
Filter erstellen
Erstellen Sie vor dem Lesen der von Ihnen geschriebenen Daten mit Filter::ColumnRangeClosed() einen Filter, um die von Bigtable zurückgegebenen Daten zu beschränken. Mit diesem Filter wird Bigtable angewiesen, nur die neueste Version jedes Werts zurückzugeben, auch wenn die Tabelle ältere Zellen enthält, die abgelaufen sind, aber noch nicht durch die automatische Speicherbereinigung entfernt wurden.
Zeile nach ihrem Schlüssel lesen
Rufen Sie die Table::ReadRow() Funktion auf, die den Zeilenschlüssel und den Filter übergibt,
sodass Sie eine Version jedes Werts dieser Zeile erhalten.
Alle Tabellenzeilen scannen
Verwenden Sie Table::ReadRows(), um einen Bereich von Zeilen
aus der Tabelle zu lesen.
Tabelle löschen
Löschen Sie die Tabelle mit BigtableTableAdminClient::DeleteTable().
Zusammenfassung
Hier ist das gesamte Beispiel ohne Kommentare: