Cloud Functions verwenden
Lernziele
HTTP-Funktionen von Cloud Functions mit Zugriff auf Cloud Bigtable schreiben, bereitstellen und auslösen
Kosten
In diesem Thema werden die kostenpflichtigen Google Cloud-Komponenten „Bigtable“ und „Cloud Functions“ verwendet.
Informationen zu den Kosten für die Verwendung von Bigtable finden Sie unter Bigtable-Preise.
Informationen zu den Kosten für die Verwendung von Cloud Functions, einschließlich kostenloser Aufrufe, finden Sie unter Preise für Cloud Functions.
Hinweise
In diesem Thema wird davon ausgegangen, dass Ihnen eine Bigtable-Instanz mit dem Namen
test-instance
und eine Tabelle mit dem Namentest-table
zugeordnet sind. Sie können diese Ressourcen mithilfe der Schritte unter Testtabelle erstellen erstellen. Denken Sie daran, die Ressourcen zu löschen, wenn Sie fertig sind, um unnötige Kosten zu vermeiden.Wählen Sie die Cloud Functions API aus.
Installieren und initialisieren Sie die gcloud CLI.
Wenn Sie die gcloud CLI bereits installiert haben, aktualisieren Sie sie mit dem folgenden Befehl:
gcloud components update
Bereiten Sie Ihre Entwicklungsumgebung vor:
Node.js
Python
Einfach loslegen (Go)
Anwendung vorbereiten
Klonen Sie das Repository der Beispiel-App auf Ihren lokalen Computer:
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.
Einfach loslegen (Go)
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.
Wechseln Sie in das Verzeichnis, das den Cloud Functions-Beispielcode für den Zugriff auf Bigtable enthält:
Node.js
cd nodejs-docs-samples/functions/bigtable/
Python
cd python-docs-samples/functions/bigtable/
Einfach loslegen (Go)
cd golang-samples/functions/bigtable/
Sehen Sie sich den Beispielcode an:
Node.js
Python
Einfach loslegen (Go)
Die Funktion sendet eine Leseanfrage an die Tabelle, um alle
stats_summary
-Daten für Zeilen mit dem Zeilenschlüsselpräfixphone
abzurufen. Sie wird ausgeführt, wenn Sie eine HTTP-Anfrage an den Endpunkt der Funktion stellen.
Funktion implementieren
Führen Sie zum Bereitstellen der Funktion mit einem HTTP-Trigger den folgenden Befehl im Verzeichnis bigtable
aus:
Node.js
gcloud functions deploy get \ --runtime nodejs20 --trigger-http
Verwenden Sie das Flag --runtime
, um die Laufzeit-ID einer unterstützten Node.js-Version anzugeben und die Funktion auszuführen.
Python
gcloud functions deploy bigtable_read_data \ --runtime python312 --trigger-http
Verwenden Sie das Flag --runtime
, um die Laufzeit-ID einer unterstützten Python-Version anzugeben und die Funktion auszuführen.
Einfach loslegen (Go)
gcloud functions deploy BigtableRead \ --runtime go121 --trigger-http
Verwenden Sie das Flag --runtime
, um die Laufzeit-ID einer unterstützten Go-Version anzugeben und die Funktion auszuführen.
Die Bereitstellung der Funktion kann bis zu zwei Minuten dauern.
Wenn die Bereitstellung abgeschlossen ist, wird der Wert url
zurückgegeben. Sie verwenden diesen Wert, wenn Sie die Funktion auslösen.
Sie können Ihre bereitgestellten Funktionen in der Google Cloud Console auf der Seite Cloud Functions ansehen. Sie können auf dieser Seite auch Funktionen erstellen und bearbeiten sowie Details und Diagnosen für Ihre Funktionen abrufen.
Funktion auslösen
Senden Sie einen HTTP-Anfrage an Ihre Funktion:
Node.js
curl "https://REGION-PROJECT_ID.cloudfunctions.net/get" -H "instance_id: test-instance" -H "table_id: test-table"
Python
curl "https://REGION-PROJECT_ID.cloudfunctions.net/bigtable_read_data" -H "instance_id: test-instance" -H "table_id: test-table"
Einfach loslegen (Go)
curl "https://REGION-PROJECT_ID.cloudfunctions.net/BigtableRead" -H "instance_id: test-instance" -H "table_id: test-table"
REGION
und PROJECT_ID
stimmen dabei mit den Werten überein, die in Ihrem Terminal sichtbar sind, wenn die Bereitstellung der Funktion abgeschlossen ist. Die Ausgabe sollte die Ergebnisse der Leseanforderung enthalten.
Sie können auch die URL der Funktion im Browser aufrufen, um das Ergebnis der Leseanfrage zu sehen.
Bereinigen
So vermeiden Sie, dass Ihrem Google Cloud-Konto für die in diesem Thema verwendeten Ressourcen für Bigtable und Cloud Functions weitere Gebühren berechnet werden:
Löschen Sie die Instanz:
gcloud bigtable instances delete test-instance
Löschen Sie die von Ihnen bereitgestellte Funktion:
Node.js
gcloud functions delete get
Python
gcloud functions delete bigtable_read_data
Einfach loslegen (Go)
gcloud functions delete BigtableRead
Nächste Schritte
- Weitere Codebeispiele für Cloud Functions ansehen
- Cloud Functions-Integrationen kennenlernen
- Cloud Functions mit Memcached verwenden.