Azure Functions est un service de calcul sans serveur qui vous permet de :
- Exécuter du code en réponse à des événements : Déclenchez des fonctions en réponse à des événements provenant de divers services Azure.
- Sans serveur : Vous n'avez pas besoin de gérer des serveurs.
- Scalabilité : Azure Functions s'adapte automatiquement à la charge de travail.
- Facturation : Vous payez uniquement pour le temps de calcul que vous utilisez.
Exemples de Ligne de Commande
Pour interagir avec Azure Functions via la ligne de commande, vous pouvez utiliser l'Azure Command Line Interface (CLI). Voici quelques exemples de commandes avancées pour créer, déployer et gérer des fonctions Azure.
Prérequis
Avant de commencer, assurez-vous que l'Azure CLI est installé et configuré sur votre machine. Vous pouvez configurer l'Azure CLI avec la commande suivante :
az login
Vous devrez fournir vos informations d'identification Azure.
Créer un Groupe de Ressources
Pour créer un groupe de ressources :
az group create --name myResourceGroup --location eastus
Créer un Plan de Consommation
Pour créer un plan de consommation pour Azure Functions :
az functionapp plan create --name myConsumptionPlan --resource-group myResourceGroup --location eastus --number-of-workers 1 --sku Y1 --is-linux
Créer une Application de Fonctions
Pour créer une application de fonctions :
az functionapp create --resource-group myResourceGroup --consumption-plan-location eastus --runtime node --runtime-version 14 --functions-version 3 --name myFunctionApp --storage-account <storage-account-name>
Déployer une Fonction
Pour déployer une fonction à partir d'un répertoire local :
az functionapp deployment source config-zip --resource-group myResourceGroup --name myFunctionApp --src <path-to-zip-file>
Le fichier ZIP doit contenir votre code de fonction. Par exemple, pour une fonction Node.js, vous pourriez avoir un fichier index.js
avec le contenu suivant :
module.exports = async function (context, req) { context.log('JavaScript HTTP trigger function processed a request.'); const name = (req.query.name || (req.body && req.body.name)); const responseMessage = name ? "Hello, " + name + ". This HTTP triggered function executed successfully." : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."; context.res = { // status: 200, /* Defaults to 200 */ body: responseMessage }; };
Invoquer une Fonction
Pour invoquer une fonction HTTP :
curl https://myFunctionApp.azurewebsites.net/api/myHttpTrigger?name=Azure
Configurer une Application de Fonctions
Pour configurer une application de fonctions avec des paramètres d'application :
az functionapp config appsettings set --name myFunctionApp --resource-group myResourceGroup --settings "AzureWebJobsStorage=<storage-account-connection-string>"
Lister les Applications de Fonctions
Pour lister toutes les applications de fonctions dans un groupe de ressources :
az functionapp list --resource-group myResourceGroup
Supprimer une Application de Fonctions
Pour supprimer une application de fonctions :
az functionapp delete --name myFunctionApp --resource-group myResourceGroup
Configurer un Déclencheur (Trigger)
Pour configurer un déclencheur pour une fonction, par exemple, un déclencheur de stockage blob :
- Créer un Compte de Stockage :
az storage account create --name mystorageaccount --location eastus --resource-group myResourceGroup --sku Standard_LRS
- Configurer le Déclencheur de Stockage Blob :
az functionapp config appsettings set --name myFunctionApp --resource-group myResourceGroup --settings "AzureWebJobsStorage=<storage-account-connection-string>"
Le fichier function.json
pour la fonction pourrait ressembler à ceci :
{ "bindings": [ { "name": "myBlob", "type": "blobTrigger", "direction": "in", "path": "samples-workitems/{name}", "connection": "AzureWebJobsStorage" } ] }
Lister les Fonctions dans une Application de Fonctions
Pour lister toutes les fonctions dans une application de fonctions :
az functionapp function list --name myFunctionApp --resource-group myResourceGroup
Conclusion
Azure Functions est un service puissant pour exécuter du code en réponse à des événements sans avoir à gérer l'infrastructure sous-jacente. En utilisant l'Azure CLI, vous pouvez automatiser et simplifier la création, le déploiement et la gestion des fonctions Azure. Ces exemples de commandes vous donnent un bon point de départ pour commencer à utiliser Azure Functions via la ligne de commande.