Ce tutoriel explique comment écrire une fonction Cloud Run HTTP qui envoie une requête à BigQuery.
Objectifs
- Écrire une fonction Cloud Run HTTP qui envoie une requête à BigQuery.
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
- Cloud Run functions
- Cloud Build
- Artifact Registry
For details, see Cloud Run functions pricing.
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer les API Cloud Functions, Cloud Build, and Artifact Registry.
- 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.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer les API Cloud Functions, Cloud Build, and Artifact Registry.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Préparez votre environnement de développement.
Si la gcloud CLI est déjà installée, mettez-le à jour en exécutant la commande suivante :
gcloud components update
Préparer l'application
Clonez le dépôt de l'exemple d'application sur votre machine locale :
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier zip et l'extraire.
Accédez au répertoire contenant l'exemple de code des fonctions Cloud Run :
cd nodejs-docs-samples/functions/v2/helloBigQuery
Consultez l'exemple de code. L'exemple envoie une requête pour les mots qui se produisent au moins 400 fois dans l'ensemble de données spécifié, puis renvoie le résultat.
Déployer la fonction
Pour déployer la fonction avec un déclencheur HTTP, exécutez la commande suivante dans le répertoire contenant l'exemple de code:
gcloud functions deploy nodejs-bq-function \ --gen2 \ --runtime=nodejs20 \ --region=REGION \ --source=. \ --entry-point=helloBigQuery \ --trigger-http \ --allow-unauthenticated
Vous pouvez attribuer les valeurs suivantes à l'option --runtime
, afin de spécifier votre version préférée de Node.js :
nodejs18
(recommandé)nodejs16
nodejs14
nodejs12
nodejs10
L'option --allow-unauthenticated
vous permet d'accéder à la fonction sans authentification.
Pour exiger une authentification, omettez cette option.
Déclencher la fonction
Une fois le déploiement de la fonction terminé, notez la propriété
uri
ou recherchez-la à l'aide de la commande suivante :gcloud functions describe nodejs-bq-function --gen2 --region=REGION --format="value(serviceConfig.uri)"
Accédez à cet URI dans votre navigateur. Une liste des mots correspondant aux critères de requête et le nombre d'occurrences de chaque mot dans l'ensemble de données cible doit s'afficher.
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet mais supprimez les ressources individuelles.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- 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.
Supprimer la fonction
La suppression de fonctions Cloud Run ne supprime pas les ressources stockées dans Cloud Storage.
Pour supprimer la fonction que vous avez créée dans ce tutoriel, exécutez la commande suivante :
gcloud functions delete nodejs-bq-function --gen2 --region REGION
Vous pouvez également supprimer des fonctions Cloud Run à partir de la console Google Cloud.