Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment créer une application Azure Functions dans Azure Container Apps, avec des règles de mise à l’échelle automatique préconfigurées.
Conditions préalables
| Ressource | Descriptif |
|---|---|
| Compte Azure | Un compte Azure avec un abonnement actif. Si vous n’en avez pas, vous pouvez en créer un gratuitement. |
| Compte de stockage Azure | Un compte de stockage d’objets blob pour stocker l’état de votre instance Azure Functions. |
| Azure Application Insights | Instance d’Azure Application Insights pour collecter des données sur votre application conteneur. |
Créer une application Functions
Les étapes suivantes vous montrent comment utiliser un exemple d’image conteneur pour créer votre application conteneur. Si vous souhaitez utiliser cette procédure avec une image conteneur personnalisée, consultez Créer votre première application de fonction dans Azure Container Apps.
Accédez au portail Azure et recherchez Container Apps dans la barre de recherche.
Sélectionnez Container Apps.
Cliquez sur Créer.
Sélectionnez Application de conteneur.
Dans la section Informations de base , entrez les valeurs suivantes.
Sous Détails du projet :
Propriété Valeur Abonnement Sélectionnez votre abonnement Azure. groupe de ressources Sélectionnez Créer un groupe de ressources, nommez-le my-aca-functions-group, puis sélectionnez OK. Nom de l’application conteneur Saisissez my-aca-functions-app. À côté d’Optimiser pour Azure Functions, cochez la case.
Sous l’environnement Container Apps, entrez :
Propriété Valeur Région Sélectionnez la région la plus proche de vous. Environnement Container Apps Sélectionnez Créer un environnement. Dans la fenêtre de configuration de l’environnement, entrez :
Propriété Valeur Nom de l’environnement Saisissez my-aca-functions-environment Redondance de zone Sélectionnez Désactivé. Sélectionnez Créer pour enregistrer vos valeurs.
Sélectionnez Suivant : Conteneur pour basculer vers la section Conteneur.
À côté de Utiliser l’image de démarrage rapide, laissez cette case décochée.
Dans la section Détails du conteneur , entrez les valeurs suivantes.
Propriété Valeur Nom Cette zone est préremplie avec votre sélection dans la section précédente. Source d’image Sélectionner Docker Hub ou d’autres registres Abonnement Sélectionnez votre abonnement. Type d’image Sélectionnez Public. Serveur de connexion au registre Entrez mcr.microsoft.com Image et étiquette Entrez k8se/quickstart-functions:latest Sous Variables d’environnement, entrez les valeurs des variables suivantes :
AzureWebJobsStorage-
APPINSIGHTS_INSTRUMENTATIONKEYouAPPLICATIONINSIGHTS_CONNECTION_STRING
Entrez les valeurs d’identité managée ou de chaîne de connexion pour ces variables. Utilisez l’identité managée.
La
AzureWebJobsStoragevariable est une chaîne de connexion de compte de stockage Azure requise pour Azure Functions. Ce compte de stockage stocke les journaux d’exécution des fonctions, gère les déclencheurs et les liaisons, et conserve l’état des fonctions durables.Application Insights est un service de supervision et de diagnostic qui fournit des insights sur les performances et l’utilisation de vos fonctions Azure. Cette surveillance vous aide à suivre les taux de demandes, les temps de réponse, les taux d’échec et d’autres métriques.
Sélectionnez Suivant Ingress > pour basculer vers la section Ingress et entrer les valeurs suivantes.
Propriété Valeur Entrée Cochez la case Activé pour activer l’entrée. Trafic d’entrée Sélectionnez Accepter le trafic n’importe où. Type d’entrée Sélectionnez HTTP. Port cible Entrez 80. Sélectionnez Vérifier + créer.
Cliquez sur Créer.
Une fois le déploiement effectué, sélectionnez Accéder à la ressource.
Dans la page Vue d’ensemble , sélectionnez le lien en regard de l’URL de l’application pour ouvrir l’application dans un nouvel onglet de navigateur.
Ajoutez
/api/HttpExampleà la fin de l’URL.Un message indiquant « Fonction de déclencheur HTTP a traité une requête » est retourné dans le navigateur.
Conditions préalables
- Un compte Azure avec un abonnement actif.
- Si vous ne possédez pas de compte Azure, vous pouvez créer un compte gratuit.
- Azure CLI installé.
Créer une application Functions
Pour vous connecter à Azure à partir de l’interface CLI, exécutez la commande suivante et suivez les invites pour procéder à l’authentification.
Connectez-vous à Azure.
az loginPour être sûr d’utiliser la dernière version de l’interface CLI, exécutez la commande upgrade.
az upgradeInstallez ou mettez à jour l’extension Azure Container Apps pour l’interface CLI.
Si vous recevez des erreurs concernant les paramètres manquants lorsque vous exécutez
az containerappdes commandes dans Azure CLI ou des applets de commande à partir duAz.Appmodule dans PowerShell, vérifiez que vous disposez de la dernière version de l’extension Azure Container Apps installée.az extension add --name containerapp --allow-preview true --upgradeMaintenant que la version actuelle de l’extension ou du module est installée, inscrivez les espaces de noms
Microsoft.AppetMicrosoft.OperationalInsights.az provider register --namespace Microsoft.Appaz provider register --namespace Microsoft.OperationalInsightsCréez des variables d’environnement.
RESOURCE_GROUP_NAME="my-aca-functions-group" CONTAINER_APP_NAME="my-aca-functions-app" ENVIRONMENT_NAME="my-aca-functions-environment" LOCATION="westus" STORAGE_ACCOUNT_NAME="storage-account-name" STORAGE_ACCOUNT_SKU="storage-account-sku" APPLICATION_INSIGHTS_NAME="application-insights-name"Créez un groupe de ressources.
az group create \ --name $RESOURCE_GROUP_NAME \ --location $LOCATION \ --output noneCréez l’environnement Container Apps.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP_NAME \ --location $LOCATION \ --output noneCréer le compte de stockage
az storage account create \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --sku $STORAGE_ACCOUNT_SKUObtenir la chaîne de connexion du compte de stockage
$STORAGE_ACCOUNT_CONNECTION_STRING = az storage account show-connection-string \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --query connectionString \ --output tsvCréer Azure Applications Insights
az monitor app-insights component create \ --app $APPLICATION_INSIGHTS_NAME \ --location $LOCATION \ --resource-group $RESOURCE_GROUP \ --application-type webObtenir la chaîne de connexion Application Insights
$APPLICATION_INSIGHTS_CONNECTION_STRING = az monitor app-insights component show \ --app $APPLICATION_INSIGHTS_NAME \ --resource-group $RESOURCE_GROUP \ --query connectionString \ --output tsvCréez une application conteneur Azure Functions.
az containerapp create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CONTAINER_APP_NAME \ --environment $ENVIRONMENT_NAME \ --image mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:1.0 \ --ingress external \ --target-port 80 \ --kind functionapp \ --query properties.outputs.fqdnCette commande retourne l’URL de votre application Functions. Copiez cette URL et collez-la dans un navigateur web.
Créer une application conteneur Azure Functions avec
--revisions-mode multiplepour le scénario multirévisionaz containerapp create \ --name $CONTAINERAPP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $CONTAINERAPPS_ENVIRONMENT \ --image mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:1.0 \ --target-port 80 \ --ingress external \ --kind functionapp \ --workload-profile-name $WORKLOAD_PROFILE_NAME \ --env-vars AzureWebJobsStorage="$STORAGE_ACCOUNT_CONNECTION_STRING" APPLICATIONINSIGHTS_CONNECTION_STRING="$APPLICATION_INSIGHTS_CONNECTION_STRING"Pour le scénario multirévision, mettez à niveau l’application conteneur et fractionnez le trafic
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $CONTAINERAPP_NAME \ --image mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:latest az containerapp ingress traffic set -resource-group \ --name $CONTAINERAPP_NAME \ --resource-group $RESOURCE_GROUP \ --revision-weight {revision1_name}=50 \ --revision-weight {revision2_name}=50Ajoutez
/api/HttpExampleà la fin de l’URL.Un message indiquant « Fonction de déclencheur HTTP a traité une requête » est retourné dans le navigateur.