Ce tutoriel simple montre comment écrire, déployer et déclencher des fonctions Cloud Run HTTP.
Objectifs
- Rédiger, déployer et déclencher une fonction Cloud Run HTTP
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
- Cloud Run functions
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Avant de commencer
- 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 and Cloud Build 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 and Cloud Build APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Préparez votre environnement de développement.
Node.js
Python
Go
Java
C#
Ruby
PHP
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 ordinateur local :
Node.js
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.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
C#
git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
Ruby
git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples.git
Vous pouvez également télécharger l'exemple en tant que fichier ZIP et l'extraire.
PHP
git clone https://github.com/GoogleCloudPlatform/php-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 de Cloud Run Functions :
Node.js
cd nodejs-docs-samples/functions/helloworld/
Python
cd python-docs-samples/functions/helloworld/
Go
cd golang-samples/functions/helloworld/
Java
cd java-docs-samples/functions/helloworld/helloworld/
C#
cd dotnet-docs-samples/functions/helloworld/HelloWorld/
Ruby
cd ruby-docs-samples/functions/helloworld/
PHP
cd php-docs-samples/functions/helloworld_get/
Consultez l'exemple de code :
Node.js
Python
Go
Java
C#
Ruby
PHP
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 (ou, dans le cas de Java, le fichier pom.xml
) :
Node.js
gcloud functions deploy helloGET \ --runtime nodejs20 --trigger-http
Utilisez l'option --runtime
pour spécifier l'ID d'exécution d'une version Node.js compatible pour exécuter votre fonction.
Python
gcloud functions deploy hello_get \ --runtime python312 --trigger-http
Utilisez l'option --runtime
pour spécifier l'ID d'exécution d'une version Python compatible pour exécuter votre fonction.
Go
gcloud functions deploy HelloGet \ --runtime go121 --trigger-http
Utilisez l'option --runtime
pour spécifier l'ID d'exécution d'une version Go compatible pour exécuter votre fonction.
Java
gcloud functions deploy java-http-function \ --entry-point functions.HelloWorld \ --runtime java17 \ --memory 512MB --trigger-http
Utilisez l'option --runtime
pour spécifier l'ID d'exécution d'une version Java compatible pour exécuter votre fonction.
C#
gcloud functions deploy csharp-http-function \ --entry-point HelloWorld.Function \ --runtime dotnet6 --trigger-http
Utilisez l'option --runtime
pour spécifier l'ID d'exécution d'une version .NET compatible pour exécuter votre fonction.
Ruby
gcloud functions deploy hello_get --runtime ruby32 --trigger-http
Utilisez l'option --runtime
pour spécifier l'ID d'exécution d'une version Ruby compatible pour exécuter votre fonction.
PHP
gcloud functions deploy helloGet --runtime php82 --trigger-http
Utilisez l'option --runtime
pour spécifier l'ID d'exécution d'une version PHP compatible pour exécuter votre fonction.
Vous pouvez éventuellement utiliser l'option --allow-unauthenticated
pour accéder à la fonction sans authentification.
Cela est utile pour les tests, mais nous vous déconseillons d'utiliser ce paramètre en production, sauf si vous créez une API ou un site Web public. En outre, il est possible que ce paramètre ne soit pas adapté aux paramètres de vos règles d'entreprise. Pour savoir comment appeler une fonction nécessitant une authentification, consultez la page Authentification pour l'appel.
Déclencher la fonction
Pour envoyer une requête HTTP à votre fonction, exécutez la commande suivante :
Node.js
curl "https://REGION-PROJECT_ID.cloudfunctions.net/helloGET"
Python
curl "https://REGION-PROJECT_ID.cloudfunctions.net/hello_get"
Go
curl "https://REGION-PROJECT_ID.cloudfunctions.net/HelloGet"
Java
curl "https://REGION-PROJECT_ID.cloudfunctions.net/java-http-function"
C#
curl "https://REGION-PROJECT_ID.cloudfunctions.net/csharp-http-function"
Ruby
curl "https://REGION-PROJECT_ID.cloudfunctions.net/hello_get"
PHP
curl "https://REGION-PROJECT_ID.cloudfunctions.net/helloGet"
Où :
REGION
est la région dans laquelle votre fonction est déployée. Cette information est visible dans votre terminal à la fin du processus de déploiement.PROJECT_ID
est votre ID de projet cloud. Il est visible dans votre terminal à la fin du processus de déploiement.
Vous pouvez également accéder au point de terminaison de la fonction déployée dans votre navigateur pour visualiser le message "Hello World!".
Nettoyer
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 Cloud Run que vous avez créée dans ce tutoriel, exécutez la commande suivante :
Node.js
gcloud functions delete helloGET
Python
gcloud functions delete hello_get
Go
gcloud functions delete HelloGet
Java
gcloud functions delete java-http-function
C#
gcloud functions delete csharp-http-function
Ruby
gcloud functions delete hello_get
PHP
gcloud functions delete helloGet
Vous pouvez également supprimer des fonctions Cloud Run à partir de la console Google Cloud.