In dieser Anleitung wird gezeigt, wie eine HTTP-Cloud-Funktion geschrieben wird, die eine Abfrage an BigQuery sendet.
Lernziele
- Schreiben Sie eine HTTP-Funktion von Cloud Functions, die eine Abfrage an BigQuery sendet.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- Cloud Functions
- Cloud Build
- Artifact Registry
Weitere Informationen finden Sie unter Cloud Functions-Preise.
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Vorbereitung
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Cloud Functions, Cloud Build, and Artifact Registry APIs aktivieren.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Cloud Functions, Cloud Build, and Artifact Registry APIs aktivieren.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Bereiten Sie die Entwicklungsumgebung vor.
Wenn Sie die gcloud CLI bereits installiert haben, aktualisieren Sie sie mit dem folgenden Befehl:
gcloud components update
Anwendung vorbereiten
Klonen Sie das Repository der Beispiel-App auf Ihren lokalen Computer:
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.
Wechseln Sie in das Verzeichnis, das den Cloud Functions-Beispielcode enthält:
cd nodejs-docs-samples/functions/v2/helloBigQuery
Sehen Sie sich den Beispielcode an: Das Beispiel sendet eine Abfrage für Wörter, die im angegebenen Dataset mindestens 400 Mal vorkommen, und gibt das Ergebnis zurück.
Funktion bereitstellen
Führen Sie den folgenden Befehl in dem Verzeichnis aus, das den Beispielcode enthält, um die Funktion mit einem HTTP-Trigger bereitzustellen:
gcloud functions deploy nodejs-bq-function \ --gen2 \ --runtime=nodejs20 \ --region=REGION \ --source=. \ --entry-point=helloBigQuery \ --trigger-http \ --allow-unauthenticated
Mit den folgenden Werten für das Flag --runtime
können Sie Ihre bevorzugte Version von Node.js festlegen:
nodejs18
(empfohlen).nodejs16
nodejs14
nodejs12
nodejs10
Mit dem Flag --allow-unauthenticated
können Sie die Funktion ohne Authentifizierung aufrufen.
Wenn Sie eine Authentifizierung anfordern möchten, lassen Sie das Flag weg.
Funktion auslösen
Notieren Sie sich nach der Bereitstellung der Funktion das Attribut von
uri
oder suchen Sie es mit diesem Befehl:gcloud functions describe nodejs-bq-function --gen2 --region=REGION --format="value(serviceConfig.uri)"
Rufen Sie diesen URI in Ihrem Browser auf. Sie sollten eine Liste der Wörter sehen, die den Abfragekriterien entsprechen und wie oft jedes Wort im Ziel-Dataset angezeigt wird.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekt löschen
Am einfachsten vermeiden Sie weitere Kosten, wenn Sie das zum Ausführen der Anleitung erstellte Projekt löschen.
So löschen Sie das Projekt:
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
Cloud Functions-Funktion löschen
Durch das Löschen von Cloud Functions-Funktionen werden keine in Cloud Storage gespeicherten Ressourcen entfernt.
Führen Sie den folgenden Befehl aus, um die in dieser Anleitung erstellte Cloud Functions-Funktion zu löschen:
gcloud functions delete nodejs-bq-function --gen2 --region REGION
Sie können Cloud Functions-Funktionen auch über die Google Cloud Console löschen.