Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Ontdek hoe u een Agent 365-agent bouwt, host, registreert en publiceert, die wordt uitgevoerd op AWS Elastic Beanstalk, met behulp van de Agent 365 CLI. Microsoft Entra en Graph leveren de agentidentiteit, machtigingen en blueprint, terwijl AWS Elastic Beanstalk de runtime verzorgt.
Als u uw agent wilt wijzen op de code die zich achter een AWS-eindpunt bevindt, hebt u alleen de volgende stap nodig: Configureren voor niet-Azure-hosting. Volg vervolgens alle andere stappen van Aan de slag met de ontwikkeling van Agent 365.
Doelstellingen
Ontdek hoe u Agent 365 en Microsoft 365 als besturingsvlak gebruikt en:
- Implementeer agentruntime op AWS Elastic Beanstalk
- Configure
a365.config.jsonvoor niet-Azure-hosting - Maak Agent Blueprint aan in Entra ID
- Configureer OAuth2 + erfelijke machtigingen
- Registreer Bot Framework-berichteneindpunt dat verwijst naar AWS
- Maak Agentidentiteit + Agentgebruiker
- (Optioneel) Publiceren op Microsoft 365 app-locaties
- Test interacties end-to-end
Vereisten
Controleer of er aan de volgende vereisten voor Azure/Microsoft 365, AWS en lokale omgevingen wordt voldaan.
Azure/vereisten van Microsoft 365
Bevestig uw Microsoft Entra-tenanttoegang en installeer de volgende tools om identiteiten en blueprints te maken en uw agent te registreren.
Een Microsoft Entra-tenant met:
- Machtiging of rol om toepassingen en agentblueprints te maken (Globale beheerder of gelijkwaardig)
- Lidmaatschap van het Frontier-previewprogramma om vroegtijdige toegang te krijgen tot Microsoft Agent 365.
- Er is ten minste één Microsoft 365-licentie beschikbaar voor de Agent-gebruiker
Vereisten voor Amazon Web Services (AWS)
Controleer of de volgende AWS-services en -tools zijn ingesteld om uw Elastic Beanstalk-omgeving te implementeren en te beheren.
- AWS-account met de juiste machtigingen
- Toegang tot AWS Elastic Beanstalk ingeschakeld
- AWS CLI geïnstalleerd en geconfigureerd
- Elastische Beanstalk CLI geïnstalleerd
Vereisten voor lokale ontwikkelingsomgevingen
Installeer en configureer lokaal de volgende tools om de agent te bouwen, uit te voeren en te implementeren.
Code-editor: gebruik Visual Studio Code of Visual Studio
.NET SDK: gebruik .NET 8.0 SDK of later
AWS-toolkit: installeer deze extensie vanuit Visual Studio of Visual Studio Code. Log in met uw inloggegevens voor AWS Identity and Access Management (IAM).
LLM API-toegang: kies de juiste service op basis van de configuratie van uw agent of de provider van uw voorkeursmodel:
- OpenAI-API-sleutel: Uw OpenAI API-sleutel ophalen
- Azure OpenAI: Een Azure OpenAI-resource maken en implementeren om uw API-sleutel en eindpunt op te halen
Een .NET-agent maken en implementeren
De volgende instructies beschrijven hoe u een minimale agent kunt creëren die:
- Reageert op GET
/ - Accepteert Bot Framework-activiteiten op POST
/api/messages
Projectmap aanmaken
mkdir aws-a365-agent
cd aws-a365-agent
.NET-project initialiseren
Om uw ervaring te stroomlijnen, toont dit artikel een voorbeeld dat al is voorbereid. Kloon de Agent365 Samples-opslagplaats en ga naar de sample dotnet\semantic-kernel\sample-agent.
De Semantic Kernel Sample Agent - C#/.NET-sample bevat:
- Een minimale ASP.NET Core Web API
- Bot Framework berichtenhandler op
/api/messages -
Statuscontrole-eindpunt op
/ - Semantic Kernel-integratie voor AI-mogelijkheden
Ga naar dotnet\semantic-kernel\sample-agent en verifieer of het project succesvol is gemaakt:
dotnet restore
dotnet build
Model configureren
Volg de instructies in Stap 2: LLM-configuratie om het project te configureren met uw Open API-sleutel.
Test lokaal (optioneel)
Test uw agent lokaal voordat u in AWS implementeert:
# Run the application dotnet runTest de eindpunten in een andere terminal:
# Test agent endpoint locally curl http://localhost:3978Druk op
Ctrl+Com de lokale server te stoppen.
Bouwen en implementeren
Kies de optie die u het liefst wilt maken en implementeer deze sample-toepassing:
- Optie A: maak en implementeer vanuit Visual Studio
- Optie B: maak en implementeer in AWS Elastic Beanstalk met CLI
Optie A: maak en implementeer vanuit Visual Studio
Gebruik de AWS Toolkit voor Visual Studio om de app te publiceren op Elastic Beanstalk met behulp van een begeleide wizard.
Klik in Solution Explorer met de rechtermuisknop op uw project.
Selecteer Publiceren op AWS Elastic Beanstalk.
Volg de Beanstalk-implementatiewizard:
- Kies uw AWS-inloggegevensprofiel.
- Selecteer Regio (bijvoorbeeld
us-east-1). - Selecteer Platform (
.NET Core on Linux). - Configureer omgevingsinstellingen.
Selecteer Implementeren.
De wizard maakt, verpakt en implementeert uw toepassing in AWS.
Optie B: maak en implementeer in AWS Elastic Beanstalk met CLI
Gebruik de Elastic Beanstalk CLI om de .NET-agent te verpakken en implementeren in een 64-bits Amazon Linux 2-omgeving. Controleer of AWS CLI en EB CLI zijn geconfigureerd. De app bindt aan de omgevingsvariabele PORT die door Beanstalk is ingesteld.
Maak en publiceer uw .NET-toepassing:
# Publish for Linux runtime (AWS Elastic Beanstalk uses Amazon Linux) dotnet publish -c Release -o ./publish --runtime linux-x64Maak een Proc-bestand aan met de volgende content:
web: dotnet ./SemanticKernelSampleAgent.dllInitialiseer Elastic Beanstalk voor .NET. U wordt gevraagd om Regio en Platform te kiezen:
eb initSelecteer:
-
Platform:
64bit-amazon-linux-2023-v3.7.0-running-.net-8 -
Regio: uw voorkeur AWS-regio (bijvoorbeeld:
us-east-1)
-
Platform:
Maak een implementatiepakket en implementeer:
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployDeze opdracht:
- Maakt een Elastic Beanstalk-toepassing.
- Maakt een omgeving met een load balancer.
- Zet uw toepassing uit.
- Voorziet in noodzakelijke AWS-bronnen.
Als u klaar bent, haalt u uw Elastic Beanstalk-eindpunt op:
eb statusNoteer uw eindpunt. Het ziet er ongeveer als volgt uit:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comDit eindpunt wordt
messagingEndpointdat wordt gebruikt door de Agent 365 Dev Tools CLI.
Notitie
Voor productieomgevingen configureert u HTTPS, door een SSL/TLS-certificaat toe te voegen in Elastic Beanstalk. Het Bot Framework vereist HTTPS voor productie-eindpunten.
Configure voor niet-Azure-hosting
Maak a365.config.json handmatig aan in uw Elastic Beanstalk-projectmap:
Belangrijk
Voor niet-Azure-hosting stelt u de waarde messagingEndpoint in op uw Elastic Beanstalk-URL met het pad /api/messages.
Het bestand a365.config.json zou er ongeveer als volgt uit moeten zien:
{
"tenantId": "YOUR_TENANT_ID",
"environment": "prod",
"messagingEndpoint": "http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/api/messages",
"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"
}
De volgende tabel vat belangrijke configuratievelden en hun doel samen.
| Veld | Betekenis |
|---|---|
messagingEndpoint |
Uw Elastic Beanstalk-URL + /api/messages |
deploymentProjectPath |
Waar .env-stempelen plaatsvindt |
Agent 365 agent maken
Nadat uw agentcode is uitgevoerd op een AWS-endpoint, volgt u de resterende stappen van Aan de slag met Agent 365-ontwikkeling om uw Agent 365-agent in te stellen.
Controleer de agent end-to-end
Gebruik deze controles om te bevestigen dat uw op AWS gehoste agent bereikbaar is, Bot Framework-activiteiten ontvangt en correct reageert op alle Agent 365-locaties.
Verifieer de connectiviteit van Elastic Beanstalk
Stuur een GET-verzoek naar uw Elastic Beanstalk-eindpunt.
curl http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/
Het verzoek zou dit bericht moeten teruggeven:
AWS Agent is running.
Controleer de logboeken van Elastic Beanstalk op binnenkomende berichten van Bot Framework
Gebruik Elastic Beanstalk-logboekregistratie om te verifiëren dat uw agent Bot Framework-activiteiten ontvangt en correct reageert.
eb logs
Of stream logboeken in realtime:
eb logs --stream
Nadat een bericht uw agent bereikt, ziet u:
POST 200 /api/messages
Received activity: { ... }
Test de agent vanaf Agent 365-locaties
Afhankelijk van uw omgeving kunt u uw agent op verschillende locaties testen:
- Agenten van testomgeving
- Teams (indien gepubliceerd)
- Agent Shell
- Gefedereerde locaties
U kunt berichten sturen en uw Elastic Beanstalk-logboeken verifiëren. Ontdek hoe u agenten test met de SDK voor Microsoft 365-agenten en valideer de functionaliteit van uw agent met de Agents Playground-testtool.
Ontwikkelaarswerkstroom
Zodra de installatie voltooid is, volgt u deze werkstroom voor iteratieve ontwikkeling:
Ontwikkel en test lokaal
Gebruik de watch-modus voor een snelle ontwikkeling met automatisch herladen:
# Automatically rebuild and restart on file changes
dotnet watch run
Wijzig uw code, sla op en test lokaal voordat u deze implementeert.
Maak en implementeer opnieuw in AWS Elastic Beanstalk
Wanneer u klaar bent om uw wijzigingen te implementeren:
# 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
Testen en monitoren
Test met Agent 365-locaties en monitor de Elastic Beanstalk-logboeken:
# Stream logs in real-time
eb logs --stream
U hoeft uw identiteit, blueprint, bot-eindpunt of machtigingen niet opnieuw aan te maken.
Probleemoplossing
Gebruik deze sectie om veelvoorkomende problemen te diagnosticeren en op te lossen bij het implementeren en uitvoeren van een Agent 365-agent op AWS Elastic Beanstalk. Het dekt connectiviteit en statuscontroles. Het behandelt ook poortbinding, maakfouten en licentieproblemen.
Fooi
De Gids voor probleemoplossing in Agent 365 bevat aanbevelingen voor probleemoplossing op hoog niveau, best practices en links naar relevante probleemoplossingsinformatie voor elk onderdeel van de Agent 365-ontwikkelingscyclus.
Het berichteneindpunt ontvangt geen verzoeken
Controleer de volgende gegevens:
- Uw eindpunt is precies:
http://<your-app>.elasticbeanstalk.com/api/messages - Uw omgeving bij Elastic Beanstalk is in orde. Gebruik de controle door
eb healthte gebruiken. - Uw beveiligingsgroep staat inkomend HTTP- of HTTPS-verkeer toe.
- Er zijn geen firewallregels of VPC-beperkingen.
Problemen met toepassingstatus
Controleer de omgevingsstatus:
eb health --refresh
Weergave van gedetailleerde logbestanden:
eb logs
Poortbindingsproblemen
Controleer of uw toepassing luistert op de poort die door de omgevingsvariabele PORT wordt gespecificeerd. Elastic Beanstalk stelt deze waarde automatisch in.
Creatie- of runtimeproblemen in .NET
Controleer op maakfouten met behulp van deze opdrachten:
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
Verifieer de .NET-versie:
dotnet --version
dotnet --list-sdks
Controleer op pakketproblemen:
# List installed packages
dotnet list package
# Update packages
dotnet restore --force
Licentietoewijzing mislukt
Wijs handmatig een geldige Microsoft 365-licentie toe, of gebruik een niet-gelicentieerd gebruikerspad als dat ondersteund wordt.