Ce tutoriel simple montre comment écrire, déployer et déclencher une fonction HTTP Cloud.
Objectifs
- Rédigez, déployez et déclenchez une fonction HTTP Cloud.
Coûts
Ce tutoriel fait appel à des composants facturables de Cloud Platform, en particulier :
- Google Cloud Functions
Utilisez le simulateur de coût pour générer une estimation des coûts en fonction de votre utilisation prévue.
Avant de commencer
- Connectez-vous à votre compte Google.
Si vous n'en possédez pas déjà un, vous devez en créer un.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.
- Activer les API Cloud Functions and Cloud Build.
- Installez et initialisez le SDK Cloud.
- Préparez votre environnement de développement.
Si le SDK Cloud est déjà installé, 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.
Accédez au répertoire qui contient l'exemple de code de Cloud 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/
Consultez l'exemple de code :
Node.js
Python
Go
Java
C#
Ruby
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 nodejs10 --trigger-http --allow-unauthenticatedVous pouvez attribuer les valeurs suivantes à l'option
--runtime
, afin de spécifier votre version préférée de Node.js : nodejs10
nodejs12
nodejs14
(aperçu public)
Python
gcloud functions deploy hello_get \ --runtime python38 --trigger-http --allow-unauthenticatedVous pouvez attribuer les valeurs suivantes à l'option
--runtime
, afin de spécifier votre version préférée de Python :python37
python38
python39
(aperçu public)
Go
gcloud functions deploy HelloGet \ --runtime go113 --trigger-http --allow-unauthenticatedVous pouvez attribuer les valeurs suivantes à l'option
--runtime
, afin de spécifier votre version préférée de Go : go111
go113
Java
gcloud functions deploy java-http-function \ --entry-point functions.HelloWorld \ --runtime java11 \ --memory 512MB --trigger-http --allow-unauthenticated
C#
gcloud functions deploy csharp-http-function \ --entry-point HelloWorld.Function \ --runtime dotnet3 --trigger-http --allow-unauthenticated
Ruby
gcloud functions deploy hello_get --runtime ruby26 --trigger-http --allow-unauthenticatedVous pouvez attribuer les valeurs suivantes à l'option
--runtime
, afin de spécifier votre version préférée de Ruby : ruby26
ruby27
L'option --allow-unauthenticated
vous permet d'accéder à la fonction sans authentification.
Pour exiger une authentification, omettez cette option.
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"
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 et 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 :
- Dans Cloud Console, accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
Supprimer une fonction Cloud Functions
La suppression de fonctions Cloud Functions ne supprime pas les ressources stockées dans Cloud Storage.
Pour supprimer la fonction Cloud 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
Vous pouvez également supprimer des fonctions Cloud Functions à partir de Google Cloud Console.