Créer et déployer une fonction Cloud Run HTTP avec .NET (1re génération)
Ce guide vous accompagne tout au long du processus d'écriture d'une fonction Cloud Run à l'aide du langage C# de l'environnement d'exécution .NET. Il existe deux types de fonctions Cloud Run :
- Les fonctions déclenchées par HTTP, que vous appelez à partir de requêtes HTTP standards.
- Les fonctions déclenchées par des événements, qui vous permettent de gérer les événements depuis votre infrastructure cloud tels que les messages sur un sujet Pub/Sub ou les modifications apportées à un bucket Cloud Storage.
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.
-
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.
- Installez et initialisez la gcloud CLI.
- Mettez à jour et installez les composants
gcloud
:gcloud components update
- Préparez votre environnement de développement.
Créer une fonction
Cette section explique comment créer manuellement une fonction à partir de zéro. Vous pouvez également utiliser les modèles fournis par le package de modèles.
Pour créer une fonction, procédez comme suit :
Créez un répertoire sur votre système local pour le code de fonction :
Windows
mkdir %HOMEPATH%\helloworld cd %HOMEPATH%\helloworld
Linux ou Mac OS X
mkdir ~/helloworld cd ~/helloworld
Créez un fichier nommé
Function.cs
avec le contenu ci-dessous :Cet exemple de fonction renvoie le message d'accueil "Hello World!".
Spécifier des dépendances
L'étape suivante consiste à configurer les dépendances. Vous pouvez configurer deux types de dépendances dans les fonctions Cloud Run C# :
- Vous pouvez rendre le framework des fonctions disponible. C'est la tâche que vous allez effectuer dans cette section.
- Vous pouvez rendre d'autres bibliothèques disponibles à la fois dans les fichiers de projet et au sein du code via l'injection de dépendances. Pour en savoir plus, consultez la section Customization through Functions Startup classes.
Pour rendre le framework des fonctions disponible, remplacez le répertoire par le répertoire helloworld
que vous avez créé ci-dessus :
cd ~/helloworld
Créez ensuite un fichier nommé HelloWorld.csproj
avec le contenu ci-dessous :
Déployer la fonction
Pour déployer la fonction avec un déclencheur HTTP, exécutez la commande suivante dans le répertoire helloworld
:
gcloud functions deploy --no-gen2 my-first-function --entry-point HelloWorld.Function --runtime dotnet8 --trigger-http --allow-unauthenticated
où my-first-function
est le nom enregistré par lequel votre fonction sera identifiée dans la console Google Cloud, et --entry-point
spécifie le nom de classe complet de votre fonction (FQN).
Tester la fonction déployée
Une fois le déploiement de la fonction terminé, notez la propriété
httpsTrigger.url
ou recherchez-la à l'aide de la commande suivante :gcloud functions describe my-first-function
La fonction devrait ressembler à ceci :
https://GCP_REGION-PROJECT_ID.cloudfunctions.net/my-first-function
Accédez à cette URL dans votre navigateur. Le message suivant devrait s'afficher :
Hello World!
.
Afficher les journaux
Les journaux Cloud Run Functions sont visibles à l'aide de Google Cloud CLI et de l'interface utilisateur de Cloud Logging.
Utiliser l'outil de ligne de commande
Pour afficher les journaux de votre fonction à l'aide de gcloud CLI, exécutez la commande logs read
suivie du nom de la fonction :
gcloud functions logs read my-first-function
Le résultat doit ressembler à ceci :
LEVEL NAME EXECUTION_ID TIME_UTC LOG D my-first-function k2bqgroszo4u 2020-07-24 18:18:01.791 Function execution started D my-first-function k2bqgroszo4u 2020-07-24 18:18:01.958 Function execution took 168 ms, finished with status code: 200 ...
Utiliser le tableau de bord Logging
Vous pouvez également consulter les journaux Cloud Run Functions depuis la console Google Cloud.
Utiliser le package de modèles
Les sections ci-dessus décrivent comment créer manuellement une fonction à partir de zéro. À l'avenir, vous exploiterez probablement les modèles pour créer des fonctions.
Pour créer, compiler et tester une fonction à l'aide des modèles, procédez comme suit :
Installez le SDK .NET.
Installez le package de modèles :
dotnet new install Google.Cloud.Functions.Templates
Créez ensuite un répertoire pour votre projet, puis utilisez
dotnet new
pour créer une fonction HTTP :mkdir HelloFunctions cd HelloFunctions dotnet new gcf-http
Cette opération crée
HelloFunctions.csproj
etFunction.cs
dans le répertoire actuel. OuvrezFunction.cs
pour examiner le code et saisissez un message personnalisé si vous le souhaitez.Créez votre fonction en local comme suit :
dotnet run
Une fois le serveur en cours d'exécution, accédez à
http://localhost:8080
pour appeler la fonction. Appuyez sur les touches Ctrl+C dans la console pour arrêter le serveur.Cette fonction affiche le message "Hello Functions Framework".
Vous pouvez également envoyer des requêtes à cette fonction à l'aide de curl
à partir d'une autre fenêtre de terminal :
curl localhost:8080
# Output: Hello Functions Framework