Partage via


Utiliser Azure Functions dans Azure Container Apps

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.

  1. Accédez au portail Azure et recherchez Container Apps dans la barre de recherche.

  2. Sélectionnez Container Apps.

  3. Cliquez sur Créer.

  4. Sélectionner Container App

  5. 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.
  6. À côté d’Optimiser pour Azure Functions, cochez la case.

    Capture d’écran du portail Azure lorsque vous créez une application conteneur préconfigurée pour Azure Functions.

  7. 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.
  8. 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é.
  9. Sélectionnez Créer pour enregistrer vos valeurs.

  10. Sélectionnez Suivant : Conteneur pour basculer vers la section Conteneur.

  11. À côté de Utiliser l’image de démarrage rapide, laissez cette case décochée.

  12. 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 dernière section.
    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
  13. Sous Variables d’environnement, entrez les valeurs des variables suivantes :

    • AzureWebJobsStorage
    • APPINSIGHTS_INSTRUMENTATIONKEY ou APPLICATIONINSIGHTS_CONNECTION_STRING

    Entrez les valeurs de chaîne d’identité managée ou de chaîne de connexion pour ces variables. L’identité managée est recommandée.

    La AzureWebJobsStorage variable 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.

  14. 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.
  15. Sélectionnez Vérifier + créer.

  16. Cliquez sur Créer.

  17. Une fois le déploiement effectué, sélectionnez Accéder à la ressource.

  18. 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.

  19. 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

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.

  1. Connectez-vous à Azure.

    az login
    
  2. Pour être sûr d’utiliser la dernière version de l’interface CLI, exécutez la commande upgrade.

    az upgrade
    
  3. Installez ou mettez à jour l’extension Azure Container Apps pour l’interface CLI.

    Si vous recevez des erreurs concernant des paramètres manquants lorsque vous exécutez des commandes az containerapp dans Azure CLI ou des cmdlets du module Az.App dans PowerShell, assurez-vous que la dernière version de l’extension Azure Container Apps est installée.

    az extension add --name containerapp --upgrade
    

    Maintenant que la version actuelle de l’extension ou du module est installée, inscrivez les espaces de noms Microsoft.App et Microsoft.OperationalInsights.

    az provider register --namespace Microsoft.App
    
    az provider register --namespace Microsoft.OperationalInsights
    
  4. Cré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"
    
  5. Créez un groupe de ressources.

    az group create \
      --name $RESOURCE_GROUP_NAME \
      --location $LOCATION \
      --output none
    
  6. Créez l’environnement Container Apps.

    az containerapp env create \
        --name $ENVIRONMENT_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --location $LOCATION \
        --output none
    
  7. Cré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.fqdn
    

    Cette commande retourne l’URL de votre application Functions. Copiez cette URL et collez-la dans un navigateur web.

  8. 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.