In dieser Anleitung wird gezeigt, wie eine Cloud Run-HTTP-Funktion geschrieben wird, die eine Abfrage an BigQuery sendet.
Ziele
- Schreiben Sie eine Cloud Run-HTTP-Funktion, die eine Abfrage an BigQuery sendet.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- Cloud Run functions
- Cloud Build
- Artifact Registry
For details, see Cloud Run functions pricing.
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Functions, Cloud Build, and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Functions, Cloud Build, and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
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 Beispielcode für Cloud Run-Funktionen 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:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Funktion löschen
Durch das Löschen von Cloud Run-Funktionen werden keine in Cloud Storage gespeicherten Ressourcen entfernt.
Führen Sie den folgenden Befehl aus, um die in dieser Anleitung erstellte Funktion zu löschen:
gcloud functions delete nodejs-bq-function --gen2 --region REGION
Sie können Cloud Run-Funktionen auch über die Google Cloud Console löschen.