Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Outre les conditions préalables répertoriées pour ce didacticiel, vous devez également installer les outils suivants sur votre ordinateur pour effectuer cet exercice.
- Azure CLI
- Si vous utilisez VS Code, installez l’extension Azure Functions
Dans cet exercice, vous allez apprendre à déployer les fonctions Microsoft Graph et ACS décrites dans les exercices précédents sur Azure Functions. Vous allez également créer une image conteneur et la déployer sur Azure Container Apps.
Déployer sur Azure Functions
Remarque
Cette section utilise Visual Studio pour publier les fonctions C# sur Azure. Si vous préférez utiliser Visual Studio Code, vous pouvez suivre les instructions de la fonction Créer une fonction C# dans Azure à l’aide du guide de démarrage rapide Visual Studio Code.
Ouvrez le
samples/acs-video-to-teams-meeting/server/csharp/GraphACSFunctions.sln
projet dans Visual Studio.Cliquez avec le bouton droit sur le
GraphACSFunctions
projet, puis sélectionnez Publier.Sélectionnez Azure dans la section cible, puis cliquez sur Suivant.
Sélectionnez Application de fonction Azure (Windows), puis cliquez sur Suivant.
Sélectionnez votre abonnement, puis sélectionnez + Créer.
Entrez les informations suivantes :
- Nom de la fonction : un nom global unique est requis. Exemple : acsFunctions<YOUR_LAST_NAME>.
- Abonnement : sélectionnez votre abonnement.
- Groupe de ressources : sélectionnez un groupe de ressources que vous avez créé précédemment dans ce didacticiel, ou vous pouvez également en créer un nouveau.
- Plan d’hébergement : Plan de consommation.
- Emplacement : sélectionnez la région dans laquelle vous souhaitez effectuer le déploiement.
- Stockage Azure : créez-en un. (Vous pouvez également sélectionner un compte de stockage existant.)
- Azure Insights : Créez-en un nouveau. (Vous pouvez également sélectionner un compte de stockage existant.)
Remarque
Un nom global unique est requis. Vous pouvez rendre le nom plus unique en ajoutant un numéro ou votre nom à la fin du nom.
Une fois l’application de fonction Azure créée, un écran de confirmation s’affiche. Vérifiez que l’option Exécuter à partir du package est sélectionnée, puis sélectionnez Terminer.
Sélectionnez Publier pour déployer la fonction sur Azure.
Une fois la fonction déployée sur Azure, accédez au portail Azure et sélectionnez l’application de fonction que vous avez créée.
Copiez l’URL de la fonction que vous avez déployée. Vous utiliserez la valeur plus loin dans cet exercice.
Sélectionnez Paramètres -> Configuration dans le menu de gauche.
Sélectionnez + Bouton Nouveau paramètre d’application et ajoutez les clés et valeurs suivantes dans les paramètres de l’application. Vous pouvez récupérer ces valeurs à partir de
local.settings.json
dans le projetGraphACSFunctions
.# Retrieve these values from local.settings.json TENANT_ID: <YOUR_VALUE> CLIENT_ID: <YOUR_VALUE> CLIENT_SECRET: <YOUR_VALUE> USER_ID: <YOUR_VALUE> ACS_CONNECTION_STRING: <YOUR_VALUE>
Sélectionnez le bouton Enregistrer pour enregistrer les paramètres.
Enfin, vous devez activer CORS (Cross-Origin Resource Sharing) pour que les API de cette application soient accessibles à partir de l’extérieur de votre domaine. Sélectionnez Paramètres -> CORS dans le menu de gauche.
Entrez
*
(accessible à partir de n’importe quel domaine) dans la zone de texte Origines autorisées , puis sélectionnez le bouton Enregistrer .
Déployer sur Azure Container Apps
La première tâche que vous allez effectuer consiste à créer une ressource Azure Container Registry (ACR ). Une fois le Registre créé, vous allez générer une image et l’envoyer (push) au Registre.
Ouvrez une fenêtre de commande et exécutez la commande suivante pour vous connecter à votre abonnement Azure :
az login
Ajoutez les variables shell suivantes en les remplaçant par les valeurs appropriées pour les espaces réservés selon les besoins. Ajoutez votre <GITHUB_USERNAME> en tant que valeur minuscule et remplacez votre domaine Azure Functions par la <valeur AZURE_FUNCTIONS_DOMAIN> (incluez la
https://
valeur du domaine).GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>" RESOURCE_GROUP="<YOUR_RESOURCE_GROUP_NAME>" ACR_NAME="aca"$GITHUB_USERNAME AZURE_FUNCTIONS_DOMAIN="<YOUR_AZURE_FUNCTIONS_URL>"
Créez une ressource Azure Container Registry en exécutant la commande suivante :
az acr create \ --resource-group $RESOURCE_GROUP \ --name $ACR_NAME \ --sku Basic \ --admin-enabled true
Ouvrez le fichier client/react/Dockerfile dans votre éditeur et notez que les tâches suivantes sont effectuées :
- L’application React est compilée et affectée à l’étape de compilation.
- Le serveur nginx est configuré, et le résultat de la phase de génération est copié dans l'image du serveur nginx.
Générez l’image conteneur dans Azure en exécutant la commande suivante à partir de la racine du dossier client/react . Remplacez <YOUR_FUNCTIONS_DOMAIN> par votre domaine Azure Functions que vous avez copié dans un fichier local précédemment dans cet exercice.
az acr build --registry $ACR_NAME --image acs-to-teams-meeting \ --build-arg REACT_APP_ACS_USER_FUNCTION=$AZURE_FUNCTIONS_DOMAIN/api/httpTriggerAcsToken \ --build-arg REACT_APP_TEAMS_MEETING_FUNCTION=$AZURE_FUNCTIONS_DOMAIN/api/httpTriggerTeamsUrl .
Exécutez la commande suivante pour répertorier les images dans votre Registre. Votre nouvelle image devrait apparaître.
az acr repository list --name $ACR_NAME --output table
Maintenant que l’image est déployée, vous devez créer une application conteneur Azure qui peut exécuter le conteneur.
Visitez le portail Azure dans votre navigateur et connectez-vous.
Tapez des applications conteneur dans la barre de recherche supérieure et sélectionnez Container Apps dans les options qui s’affichent.
Sélectionnez Créer dans la barre d’outils.
Remarque
Bien que vous utilisiez le portail Azure, une application conteneur peut également être créée à l’aide d’Azure CLI. Pour plus d’informations, consultez Démarrage rapide : Déployer votre première application conteneur. Vous verrez également un exemple de la façon dont Azure CLI peut être utilisé à la fin de cet exercice.
Effectuez les tâches suivantes :
- Sélectionnez votre abonnement.
- Sélectionnez le groupe de ressources à utiliser (créez-en un si nécessaire). Vous pouvez utiliser le même groupe de ressources que celui que vous avez utilisé pour votre ressource ACS si vous le souhaitez. Copiez le nom de votre groupe de ressources dans le même fichier local que celui où vous avez stocké votre domaine Azure Functions.
- Entrez un nom pour l'application de conteneur acs-to-teams-meeting.
- Sélectionnez une région.
- Sélectionnez Créer nouveau dans la section Environnement Container Apps.
- Entrez un nom d’environnement de acs-to-teams-meeting-env.
- Cliquez sur le bouton Créer.
- Sélectionnez Suivant : Paramètres >de l’application .
Entrez les valeurs suivantes dans l’écran Créer une application conteneur :
- Désélectionnez la case à cocher Utiliser l’image de démarrage rapide .
- Nom : acs-to-teams-meeting
- Source de l’image : Azure Container Registry
- Registre : <YOUR_ACR_REGISTRY_NAME.azurecr.io>
- Image : acs-to-teams-meeting
- Balise d’image : latest
- Processeur et mémoire : 0,25 cœurs de CPU, -0,5 Gio de mémoire
Dans la section Paramètres d’entrée de l’application , procédez comme suit :
- Cochez la case Activé.
- Sélectionnez la case d’option Acceptation du trafic depuis n’importe où.
Cela crée un point d’entrée (entrée) pour votre application React et lui permet d’être appelé n’importe où. Azure Container Apps redirige tout le trafic vers HTTPS.
- Port cible : 80
Sélectionnez Vérifier + créer. Une fois la validation réussie, sélectionnez le bouton Créer.
Si vous obtenez une erreur, cela peut être dû à l’inactivité de votre environnement d’applications conteneur pendant trop longtemps. La solution la plus simple consiste à passer par le processus de création de l’application conteneur à nouveau. Vous pouvez également exécuter la commande suivante pour créer l’application conteneur à l’aide d’Azure CLI :
az containerapp create --name acs-to-teams-meeting --resource-group $RESOURCE_GROUP \ --location westus --image acs-to-teams-meeting \ --cpu 0.25 --memory 0.5 --environment-name acs-to-teams-meeting-env \ --ingress-enabled true --ingress-target-port 80 --ingress-type External \ --ingress-protocol Https --ingress-traffic Anywhere
Une fois le déploiement de votre application conteneur terminé, accédez-y dans le portail Azure et sélectionnez l’URL de l’application dans l’écran Vue d’ensemble pour afficher l’application s’exécutant dans le conteneur nginx !