Provisionner et publier un bot
S'APPLIQUE À : SDK v4
Cet article explique comment utiliser Azure CLI pour créer des ressources pour votre bot, préparer votre bot pour le déploiement et déployer votre bot sur Azure.
Cet article suppose que vous disposez d’un bot prêt à être déployé. Pour en savoir plus sur la création d’un bot echo simple, reportez-vous à Créer un bot à l’aide du kit de développement logiciel (SDK) Bot Framework. Vous pouvez également utiliser l’un des exemples fournis dans le dépôt Bot Framework Samples.
Conseil
Cet article crée une ressource Azure Bot pour votre bot. Les bots existants qui utilisent une ressource Web App Bot ou une ressource Bot Channels Registration continueront de fonctionner, mais vous ne pouvez pas créer de bots qui utilisent ces types de ressources.
Remarque
Les kits SDK JavaScript, C# et Python Bot Framework continueront d’être pris en charge. Toutefois, le kit de développement logiciel (SDK) Java est mis hors service avec une prise en charge finale à long terme se terminant en novembre 2023.
Les bots existants créés avec le kit de développement logiciel (SDK) Java continueront de fonctionner.
Pour la nouvelle génération de bots, envisagez d’utiliser Microsoft Copilot Studio et lisez-en plus sur le choix de la solution copilote appropriée.
Pour plus d’informations, consultez Les futures versions de bot.
Prérequis
Pour les bots Java, installez Maven.
Ce processus utilise deux modèles Azure Resource Manager (modèles ARM) pour créer des ressources pour votre bot.
Si vous ne disposez pas des modèles actuels, créez une copie du dossier deploymentTemplates dans votre projet bot : C#, JavaScript, Python ou Java.
Pour utiliser Azure CLI pour approvisionner et publier des bots, vous avez besoin des éléments suivants :
Un compte Azure disposant d’un abonnement actif. Créer un compte gratuit.
Une version installée d’Azure CLI.
Pour votre langage de programmation, utilisez la version suivante d'Azure CLI. Certaines étapes ne fonctionnent pas avec les versions ultérieures de l'interface CLI.
Langue Version de la CLI C# et JavaScript 2.39.0 ou version ultérieure Python 2.55.0 ou version ultérieure Java 2.29.2
Remarque
Si votre bot utilise des ressources supplémentaires, telles qu’un service de stockage ou des services linguistiques, celles-ci doivent être déployées séparément.
Planifier votre déploiement
Avant de commencer, prenez ces décisions.
Décision | Notes |
---|---|
Comment gérer les identités de vos ressources de bot dans Azure | Vous pouvez utiliser une identité managée affectée par l’utilisateur, une inscription d’application à locataire unique ou une inscription d’application multilocataire. Pour plus d’informations, consultez Créer une ressource d’identité. |
Dans quel(s) groupe(s) de ressources vous allez créer vos ressources de bot | Tant que vous n’êtes pas familiarisé avec ce processus, nous vous recommandons d’utiliser un groupe de ressources. Pour plus d’informations, consultez Gérer les ressources Azure. |
Que votre bot soit régional ou global | Pour plus d'informations sur les bots régionaux, consultez la rubrique Régionalisation dans Azure AI Bot Service. |
L'identité de votre bot peut être gérée dans Azure de différentes manières.
- S'il s'agit d'une identité managée affectée par l'utilisateur, vous n'avez pas besoin de gérer vous-même les informations d'identification du bot.
- S'il s'agit d'une application à locataire unique.
- S'il s'agit d'une application multilocataire.
La prise en charge de l’identité managée affectée par l’utilisateur et des types d’applications à locataire unique a été ajoutée au Kit de développement logiciel (SDK) Bot Framework pour C#, JavaScript et Python. Ces types d’application ne sont pas pris en charge dans les autres langages ou dans Bot Framework Composer, Bot Framework Emulator ou Dev Tunnels.
Type d’application | Support |
---|---|
Identité managée affectée par l’utilisateur | Azure AI Bot Service et les kits SDK C#, JavaScript et Python |
Locataire unique | Azure AI Bot Service et les kits SDK C#, JavaScript et Python |
Multilocataire | Azure AI Bot Service, tous les langages du Kit de développement logiciel (SDK) Bot Framework, Composer, l’émulateur et les tunnels de développement |
Important
Vous ne pouvez pas déployer les bots Python sur un groupe de ressources qui contient des services ou bots Windows. Toutefois, plusieurs bots Python peuvent être déployés sur le même groupe de ressources. Créez d’autres services, tels que les services Azure AI Services, dans un autre groupe de ressources.
Ressources Azure
Avant de pouvoir déployer votre bot, vous créez (ou approvisionnez) les ressources Azure dont il aura besoin. Pour certaines étapes, vous pouvez soit utiliser une ressource existante, soit en créer une.
Vous pouvez trouver utile de décider à l’avance des noms des nouvelles ressources que vous allez créer et des noms des ressources existantes que vous utiliserez. Votre bot utilisera ces types de ressources.
- Abonnement Azure que vous allez utiliser pour approvisionner, publier et gérer le bot
- Un ou plusieurs groupes de ressources
- Une identité managée affectée par l’utilisateur ou une inscription d’application Microsoft Entra ID
- Une ressource de plan App Service
- Une ressource App Service
- Une ressource Azure Bot
Informations utilisées entre les ressources
Lorsque vous créez des ressources dans Azure, Azure génère ou demande des ID, des mots de passe et d’autres informations dont vous aurez besoin dans les étapes ultérieures. Le tableau suivant répertorie les informations au-delà des noms de ressources que vous devez enregistrer, dans quelle étape elle est générée et dans quelles étapes elle est utilisée.
Attention
La plupart de ces identifiants et mots de passe sont des informations sensibles. Pour obtenir des informations générales sur la sécurité, consultez Instructions de sécurité de Bot Framework.
Se connecter et sélectionner un abonnement
Ouvrez une fenêtre de commandes.
Connectez-vous à Azure.
az login
- Une fenêtre du navigateur s’ouvre. Terminez le processus de connexion.
- Si l’opération s’effectue normalement, la commande génère une liste des abonnements auxquels votre compte a accès.
Pour définir l’abonnement à utiliser, exécutez :
az account set --subscription "<subscription>"
Pour <l’abonnement>, utilisez l’ID ou le nom de l’abonnement à utiliser.
Si vous créez une identité managée affectée par l’utilisateur ou un bot à locataire unique, enregistrez
tenantId
pour l’abonnement. Vous allez utiliser l’ID de locataire lors des étapes suivantes.
Conseil
Si vous devez travailler dans un cloud privé, consultez Gestion du cloud Azure avec Azure CLI.
Créer des groupes de ressources
Si vous n’avez pas encore de groupe de ressources approprié, utilisez la commande az group create
pour créer les nouveaux groupes de ressources dont vous avez besoin.
az group create --name "<group>" --location "<region>"
Option | Description |
---|---|
name | Nom du groupe de ressources à créer. |
location | La région dans laquelle créer le groupe de ressources. |
Pour plus d’informations, consultez le Guide pratique pour gérer des groupes de ressources Azure avec Azure CLI.
Créer une ressource d’identité
Pour créer une identité managée affectée par l’utilisateur, utilisez la commande
az identity create
. Si l’opération s’effectue normalement, la commande génère une sortie JSON.az identity create --resource-group "<group>" --name "<identity>"
Option Description resource-group Nom du groupe de ressources dans lequel créer l’identité. name Le nom de la ressource d’identité à créer. Pour plus d’informations, consultez la référence az identity.
Enregistrez les valeurs dont vous aurez besoin dans les étapes ultérieures.
- Nom du groupe de ressources de la ressource d’identité
- Nom de la ressource d’identité
clientId
de la sortie de la commande
Créez les ressources avec des modèles ARM
Créez les ressources App Service et Azure Bot pour votre bot.
Les deux étapes utilisent un modèle ARM et la commande Azure CLI az deployment group create
pour créer la ressource ou les ressources.
Créez une ressource App Service pour votre bot. L’App Service peut se trouver dans un plan App Service nouveau ou existant.
Pour obtenir des instructions détaillées, consultez Utiliser Azure CLI pour créer un App Service.
Créer une ressource Azure Bot pour votre bot.
Pour obtenir des instructions détaillées, consultez Utiliser Azure CLI pour créer ou mettre à jour un Azure Bot.
Important
Ces étapes peuvent être effectuées dans n’importe quel ordre. Toutefois, si vous créez d’abord votre Azure Bot, vous devez mettre à jour son point de terminaison de messagerie après avoir créé votre ressource App Service.
Mettre à jour les paramètres de configuration du projet
Informations sur l'identité du bot
Suivez ces étapes pour ajouter des informations d'identité au fichier de configuration de votre bot. Le fichier diffère selon le langage de programmation que vous utilisez pour créer le bot.
Important
La version Java du Kit de développement logiciel (SDK) Bot Framework prend uniquement en charge les bots multilocataires. Les versions C#, JavaScript et Python prennent en charge les trois types d’applications pour la gestion de l’identité du bot.
Langue | Nom de fichier | Notes |
---|---|---|
C# | appsettings.json | Prend en charge les trois types d'applications pour gérer l'identité de votre bot. |
JavaScript | .env | Prend en charge les trois types d'applications pour gérer l'identité de votre bot. |
Java | application.properties | Prend uniquement en charge les bots multilocataires. |
Python | config.py | Prend en charge les trois types d'applications pour gérer l'identité de votre bot. |
Les informations d'identité que vous devez ajouter dépendent du type d'application du bot. Fournissez les valeurs suivantes dans votre fichier de configuration :
Disponible pour les bots C#, JavaScript et Python.
Propriété | Valeur |
---|---|
MicrosoftAppType |
UserAssignedMSI |
MicrosoftAppId |
ID client de l'identité managée affectée par l'utilisateur. |
MicrosoftAppPassword |
Non applicable. Laissez cette valeur vide pour un bot d'identité managée affecté par l'utilisateur. |
MicrosoftAppTenantId |
L'identifiant du locataire de l'identité managée affectée par l'utilisateur. |
Préparer les fichiers de votre projet
Préparez vos fichiers projet avant de pouvoir déployer votre bot.
Basculez vers le dossier racine de votre projet. Pour C#, la racine est le dossier qui contient le fichier .csproj.
Effectuez une régénération propre en mode publication.
Si vous ne l’avez pas déjà fait, exécutez
az bot prepare-deploy
pour ajouter des fichiers requis à la racine de votre répertoire de code source local. Cette commande génère un fichier.deployment
dans le dossier du projet de votre bot.az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"
Option Description lang Langage ou runtime du bot. Utiliser Csharp
.code-dir Répertoire dans lequel placer les fichiers de déploiement générés. Utilisez le dossier racine de votre projet. L’emplacement par défaut est le répertoire actif. proj-file-path Chemin d’accès au fichier .csproj pour votre bot, par rapport à l’option code-dir
.Dans le dossier racine de votre projet, créez un fichier zip qui contient tous les fichiers et sous-dossiers.
Publier votre bot sur Azure
À ce stade, vous êtes prêt à déployer du code pour votre bot sur votre ressource App Service.
Remarque
Cette étape peut prendre quelques minutes. Il peut également s’écouler plusieurs minutes supplémentaires entre le moment où le déploiement se termine et le moment où le bot est disponible pour le test.
Exécutez la az webapp deploy
commande à partir de la ligne de commande pour effectuer le déploiement à l’aide du déploiement push zip Kudu pour votre service d’application (application web).
Option | Description |
---|---|
resource-group | Nom du groupe de ressources Azure qui contient votre bot. |
name | Nom du service d’application utilisé précédemment. |
src | Chemin d’accès relatif ou absolu au fichier projet compressé que vous avez créé. |
Conseil
Par défaut, cette commande est déployée sur l’emplacement de production. Utilisez le paramètre facultatif --slot
pour spécifier un emplacement différent.
Pour plus d’informations, consultez la documentation de référence des az webapp deploy
commandes.
Tester dans Chat Web
- Dans votre navigateur, accédez au Portail Azure.
- Accédez à votre ressource de bot.
- Ouvrez le volet Tester dans Web Chat.
- Interagissez avec votre bot déployé.
Pour en savoir plus sur l’inscription d’un bot, consultez Inscrire un bot sur Bot Service.
Nettoyer les ressources
Si vous ne pensez pas publier cette application, supprimez les ressources associées en effectuant les étapes suivantes :
- Sur le portail Azure, ouvrez le groupe de ressources de votre bot.
- Cliquez sur Supprimer le groupe de ressources pour supprimer le groupe et toutes les ressources qu’il contient.
- Dans le volet de confirmation, saisissez le nom du groupe de ressources, puis sélectionnez Supprimer.
- Si vous avez créé une application à locataire unique ou multilocataire :
- Accédez au panneau Microsoft Entra ID.
- Recherchez l’inscription d’application que vous avez utilisée pour votre bot et supprimez-la.
Ressources supplémentaires
Consultez ces articles pour plus d’informations sur les applications et ressources Azure utilisées pour héberger un bot.
Objet | Article |
---|---|
Azure CLI | Qu’est-ce qu’Azure CLI ? |
Gestion des abonnements Azure | Guide pratique pour gérer les abonnements Azure avec Azure CLI |
Régions Azure | Régions et zones de disponibilité |
Gestion des groupes de ressources et des ressources | Manage Azure resources (Gérer des ressources Azure) |
Identités managées | Que sont les identités managées pour les ressources Azure ? |
Application à locataire unique et application multilocataire | Location dans Microsoft Entra ID |
Applications Web | App Service |
Ressources de calcul pour les applications Web | Plans App Service |
Modèles Azure Resource Manager (modèles ARM) | Qu’est-ce qu’un modèle ARM ? et Comment utiliser des modèles de déploiement Azure Resource Manager (ARM) avec Azure CLI |
Facturation Azure | Gestion de la facturation et des coûts |
Fichiers Kudu
La commande de déploiement d’application Web utilise Kudu pour déployer des bots C#, JavaScript et Python. Quand vous utilisez l’API de déploiement à partir d’un fichier zip non configuré pour déployer le code de votre bot, le comportement est le suivant :
Par défaut, Kudu part du principe que les déploiements à partir de fichiers zip sont prêts à être exécutés et ne nécessitent aucune étape de génération supplémentaire pendant le déploiement, telle que npm install ou dotnet restore/dotnet publish.
Il est important d’inclure votre code généré et toutes les dépendances nécessaires dans le fichier zip déployé, sans quoi votre bot ne fonctionnera pas comme prévu. Pour plus d’informations, consultez la documentation Azure pour Déployer des fichiers dans App Service.