Remarque
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
Vous devez faire partie du programme Frontier en version préliminaire pour obtenir un accès anticipé à Microsoft Agent 365. Frontier vous connecte directement aux dernières innovations d’IA de Microsoft. Les versions préliminaires Frontier sont soumises aux conditions existantes de vos contrats clients qui régissent les versions préliminaires. Comme ces fonctionnalités sont encore en cours de développement, leur disponibilité et leurs capacités peuvent évoluer au fil du temps.
Apprenez à construire, héberger, enregistrer et publier un agent Agent 365 qui fonctionne sur AWS Elastic Beanstalk, en utilisant la CLI de l’Agent 365. Microsoft Entra et Graph fournissent l’identité, les autorisations et le blueprint de l’agent, tandis que AWS Elastic Beanstalk fournit le runtime.
Si vous souhaitez orienter votre agent vers votre code situé derrière un terminal AWS, il vous suffit de l’étape suivante : configurez pour un hébergement non-Azure. Ensuite, suivez toutes les autres étapes du cycle de vie de développement de l’Agent 365.
Objectifs
Découvrez comment utiliser Agent 365 et Microsoft 365 comme plan de contrôle et :
- Déploiement de l’exécution de l’agent sur AWS Elastic Beanstalk
- Configurer
a365.config.jsonpour l’hébergement non Azure - Créer un modèle d’agent dans Entra ID
- Configurer OAuth2 + permissions héréditaires
- Enregistrer le point de terminaison de messagerie du Bot Framework pointant vers AWS
- Créer une identité d'agent + Utilisateur d'agent
- (Facultatif) Publier sur des surfaces d’application Microsoft 365
- Tester les interactions de manière complète
Prerequisites
Avant de commencer, vérifiez que les conditions préalables suivantes sont remplies Azure/Microsoft 365, AWS et environnement local.
prérequis Azure /Microsoft 365
Vérifiez votre accès au locataire Microsoft Entra et installez les outils suivants pour créer des identités, des plans d'architecture et inscrire votre agent.
Un locataire Microsoft Entra avec :
- Permission ou rôle pour créer des applications et des plans d’agent (Administrateur global ou équivalent)
- Adhésion au programme Frontier preview pour accéder anticipément à Microsoft Agent 365.
- Au moins une licence Microsoft 365 disponible pour l’utilisateur agent
Prérequis Amazon Web Services (AWS)
Assurez-vous que les services et outils AWS suivants sont configurés pour déployer et gérer votre environnement Elastic Beanstalk.
- Compte AWS avec les permissions appropriées
- Accès AWS Elastic Beanstalk activé
- Installation et configuration de la CLI AWS
- CLI Elastic Beanstalk installé
Prérequis environnementaux de développement local
Installez et configurez localement les outils suivants pour construire, exécuter et déployer l’agent.
éditeur Codeur : utilisez Visual Studio Code ou Visual Studio
.NET SDK : utilisez .NET sdk 8.0 ou version ultérieure
AWS Toolkit : installez cette extension à partir de Visual Studio ou Visual Studio Code. Connectez-vous en utilisant vos identifiants AWS Identity and Access Management (IAM ).
Accès à l’API LLM : Choisissez le service approprié en fonction de la configuration de votre agent ou de votre fournisseur de modèle préféré :
- Clé d’API OpenAI : Obtenir votre clé d’API OpenAI
- Azure OpenAI : Creater et déployer une ressource OpenAI Azure pour obtenir votre clé API et votre point de terminaison
Créer et déployer un agent .NET
Les instructions suivantes décrivent comment créer un agent minimal qui :
- Répond à GET
/ - Accepte les activités du cadre Bot sur POST
/api/messages
Créer un répertoire de projet
mkdir aws-a365-agent
cd aws-a365-agent
Initialiser .NET projet
Pour simplifier votre expérience, cet article utilise un exemple déjà préparé. Cloner le dépôt des échantillons Agent365 et accédez à l’échantillon dotnet\semantic-kernel\sample-agent.
L’exemple d’agent Semantic Kernel - C#/.NET inclut :
- Une API Web minimale ASP.NET Core
- Gestionnaire de messages du Bot Framework à
/api/messages -
Endpoint de vérification de santé à
/ - intégration de Semantic Kernel pour les fonctionnalités d’IA
Allez sur dotnet\semantic-kernel\sample-agent et vérifiez que le projet se construit avec succès :
dotnet restore
dotnet build
Configurer le modèle
Suivez les instructions de l’étape 2 : Configuration du LLM pour configurer le projet en utilisant votre clé Open API.
Tester localement (optionnel)
Avant de déployer sur AWS, testez votre agent localement :
# Run the application dotnet runTestez les points d’extrémité dans un autre terminal :
# Test agent endpoint locally curl http://localhost:3978Appuyez
Ctrl+Cpour arrêter le serveur local.
Construire et déployer
Choisissez l’option que vous préférez pour construire et déployez cette application exemple :
- Option A : Générer et déployer à partir de Visual Studio
- Option B : Construire et déployer sur AWS Elastic Beanstalk avec CLI
Option A : Générer et déployer à partir de Visual Studio
Utilisez aws Toolkit for Visual Studio pour publier l’application sur Elastic Beanstalk à l’aide d’un Assistant guidé.
Dans Solution Explorer, cliquez avec le bouton droit sur votre projet.
Sélectionnez Publier sur AWS Elastic Beanstalk.
Suivez l’assistant de déploiement Beanstalk :
- Choisissez votre profil d’identifiants AWS.
- Sélectionnez la région (par exemple,
us-east-1). - Sélectionnez Plateforme (
.NET Core on Linux). - Configurez les paramètres de l’environnement.
Sélectionnez Déployer.
L’assistant construit, empaquete et déploie votre application sur AWS.
Option B : Construire et déployer sur AWS Elastic Beanstalk avec CLI
Utilisez l’interface CLI Elastic Beanstalk pour empaqueter et déployer l’agent .NET dans un environnement Amazon Linux 2 64 bits. Assurez-vous que la CLI AWS et la ligne de commande EB sont configurées. L’application se lie à la variable d’environnement PORT définie par Beanstalk.
Générez et publiez votre application .NET :
# Publish for Linux runtime (AWS Elastic Beanstalk uses Amazon Linux) dotnet publish -c Release -o ./publish --runtime linux-x64Créez un Procfile avec le contenu suivant.
web: dotnet ./SemanticKernelSampleAgent.dllInitialisez Elastic Beanstalk pour .NET. Il vous est demandé de choisir Région et Plateforme :
eb initSélectionnez :
-
Plateforme :
64bit-amazon-linux-2023-v3.7.0-running-.net-8 -
Région : Votre région AWS préférée (par exemple :
us-east-1)
-
Plateforme :
Créer un package de déploiement et déployer :
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployCette commande :
- Crée une application Elastic Beanstalk.
- Crée un environnement avec un équilibreur de charge.
- Déploie votre application.
- Fournit les ressources AWS nécessaires.
Une fois terminé, obtenez votre point d’extrémité Elastic Beanstalk :
eb statusNote ton point final. Il doit se présenter comme suit :
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comCe point d'accès est utilisé par la CLI des outils de développement Agent 365.
Note
Pour les environnements de production, configurez HTTPS en ajoutant un certificat SSL/TLS dans Elastic Beanstalk. Le Bot Framework nécessite HTTPS pour les terminaux de production.
Configurer pour l’hébergement non Azure
Créez a365.config.json dans votre dossier projet Elastic Beanstalk en exécutant a365 config init:
Important
Pour l’hébergement non Azure, définissez ces valeurs :
-
messagingEndpoint: votre URL Elastic Beanstalk avec le/api/messageschemin -
needDeployment:false
Le a365.config.json fichier devrait ressembler à ceci :
{
"tenantId": "YOUR_TENANT_ID",
"subscriptionId": "YOUR_AZURE_SUBSCRIPTION_ID",
"resourceGroup": "a365-aws-demo",
"location": "westus",
"environment": "prod",
"messagingEndpoint": "http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/api/messages",
"needDeployment": false,
"agentIdentityDisplayName": "MyAwsAgent Identity",
"agentBlueprintDisplayName": "MyAwsAgent Blueprint",
"agentUserDisplayName": "MyAwsAgent User",
"agentUserPrincipalName": "myawsagent@testTenant.onmicrosoft.com",
"agentUserUsageLocation": "US",
"managerEmail": "myManager@testTenant.onmicrosoft.com",
"deploymentProjectPath": ".",
"agentDescription": "AWS-hosted Agent 365 Agent"
}
Le tableau suivant résume les champs de configuration importants et leur objectif.
| Terrain | Meaning |
|---|---|
messagingEndpoint |
Votre URL Elastic Beanstalk + /api/messages |
"needDeployment": false |
Indique à l'interface CLI « J'héberge mon propre serveur ; ne pas déployer sur Azure' |
deploymentProjectPath |
Là où .env le marquage a lieu |
Build Agent 365 Agent
Après que votre code d’agent soit exécuté sur un point de terminaison AWS, suivez les étapes restantes du cycle de développement de l’Agent 365 pour configurer votre agent Agent 365.
Vérifier l’agent de bout en bout
Utilisez ces vérifications pour confirmer que votre agent hébergé AWS est joignable, reçoit les activités du Bot Framework et répond correctement sur les surfaces de l’Agent 365.
Vérifier la connectivité d'Elastic Beanstalk
Envoyez une requête GET à votre point de terminaison Elastic Beanstalk.
curl http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/
La demande doit renvoyer ce message :
AWS Agent is running.
Vérifiez les journaux d'Elastic Beanstalk pour les messages du Bot Framework entrants.
Utilisez la journalisation Elastic Beanstalk pour vérifier que votre agent reçoit les activités du Bot Framework et répond correctement.
eb logs
Ou transmettez les logs en flux en temps réel :
eb logs --stream
Après qu’un message parvienne à votre agent, vous voyez :
POST 200 /api/messages
Received activity: { ... }
Agent de test de l’Agent 365 apparaît
Selon votre environnement, vous pouvez tester votre agent sur différentes surfaces :
- Terrain de jeu des agents
- Équipes (si publiées)
- Interpréteur de commandes d’agent
- Surfaces fédérées
Vous pouvez envoyer des messages et vérifier vos journaux Elastic Beanstalk. Apprenez à tester les agents en utilisant le Microsoft Agent 365 SDK et à valider les fonctionnalités de votre agent avec l’outil de test Agents Playground.
Flux de travail du développeur
Une fois la configuration terminée, suivez ce flux de travail pour un développement itératif :
Développer et tester localement
Utilisez le mode montre pour un développement rapide avec rechargement automatique :
# Automatically rebuild and restart on file changes
dotnet watch run
Faites vos modifications de code, sauvegardez et testez localement avant de déployer.
Construire et redéployer sur AWS Elastic Beanstalk
Lorsque vous êtes prêt à déployer vos modifications :
# Clean previous builds (optional but recommended)
dotnet clean
# Publish optimized release build
dotnet publish -c Release -o ./publish --runtime linux-x64
# Create deployment package
cd publish
zip -r ../deploy.zip .
cd ..
# Deploy to AWS
eb deploy
Tester et surveiller
Testez en utilisant des surfaces Agent 365 et surveillez les logs Elastic Beanstalk :
# Stream logs in real-time
eb logs --stream
Vous n’avez pas besoin de recréer votre identité, votre blueprint, votre point d’accès du bot ou vos permissions.
Résolution des problèmes
Utilisez cette section pour diagnostiquer et résoudre les problèmes courants lors du déploiement et de l’exécution d’un agent Agent 365 sur AWS Elastic Beanstalk. Il couvre la connectivité et les contrôles de santé. Il traite également la liaison de ports, les erreurs de compilation et les problèmes de licence.
Conseil / Astuce
Le Guide de dépannage de l’Agent 365 contient des recommandations générales de dépannage, les meilleures pratiques et des liens vers du contenu de dépannage pour chaque étape du cycle de développement de l’Agent 365.
Le point de terminaison de messagerie ne reçoit pas de requêtes
Consultez les détails suivants :
- Votre point final est exactement :
http://<your-app>.elasticbeanstalk.com/api/messages - L’environnement Elastic Beanstalk est en bonne santé. Utilisez la vérification en utilisant
eb health. - Votre groupe de sécurité autorise le trafic HTTP ou HTTPS entrant.
- Il n’y a pas de règles de pare-feu ni de restrictions sur les VPC.
Problèmes de santé dans les applications
Vérifiez la santé de l’environnement :
eb health --refresh
Consultez les journaux détaillés :
eb logs
Problèmes de liaison de ports
Assurez-vous que votre application écoute sur le port spécifié par la PORT variable environnement (Elastic Beanstalk définit automatiquement cette valeur).
.NET problèmes de génération ou d’exécution
Vérifiez les erreurs de compilation en utilisant ces commandes :
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
Vérifiez .NET version :
dotnet --version
dotnet --list-sdks
Vérifiez les problèmes de boîtier :
# List installed packages
dotnet list package
# Update packages
dotnet restore --force
Échec de la cession de licence
Attribuez manuellement une licence de Microsoft 365 valide ou utilisez un chemin d’accès utilisateur sans licence si pris en charge.