Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Finn ut hvordan du bygger, drifter, registrerer og publiserer en Agent 365-agent som kjører i Amazon Web Services Elastic Beanstalk, ved hjelp av Agent 365 CLI. Microsoft Entra og Graph gir agentidentitet, tillatelser og mal, mens Amazon Web Services Elastic Beanstalk sørger for kjøretiden.
Hvis du vil at agenten skal peke mot koden som ligger bak en Amazon Web Services-endepunkt, trenger du bare følgende trinn: Konfigurer for vertstjeneste uten Azure. Følg deretter alle andre trinn fra Kom i gang med Agent 365-utvikling.
Mål
Finn ut hvordan du bruker Agent 365 og Microsoft 365 som kontrollplanen og gjør følgende:
- Distribuer agentkjøretid på Amazon Web Services Elastic Beanstalk
- Konfigurer
a365.config.jsonfor vertstjeneste uten Azure - Opprett Agent Blueprint i Entra ID
- Konfigurer OAuth2 + tillatelser som kan arves
- Registrer Bot Framework-meldingsendepunkt som peker mot Amazon Web Services
- Opprett agentidentitet og agentbruker
- (Valgfritt) Publiser i Microsoft 365-appoverflater
- Test samhandlinger fra ende til ende
Forutsetning
Før du begynner, må du sørge for at du oppfyller følgende forutsetninger for Azure / Microsoft 365, Amazon Web Services og lokale miljøer.
Forutsetninger for Azure / Microsoft 365
Bekreft at du har tilgang til Microsoft Entra-leier, og installer følgende verktøy for å opprette identiteter, maler og registrere agenten.
En Microsoft Entra-leier med følgende:
- Tillatelse eller rolle til å opprette programmer og agentmaler (global administrator eller tilsvarende)
- Medlemskap i Frontier-forhåndsversjonsprogrammet for å få tidlig tilgang til Microsoft Agent 365.
- Minst én Microsoft 365-lisens tilgjengelig for agentbrukeren
Forutsetninger for Amazon Web Services
Sørg for at følgende Amazon Web Services-tjenester og -verktøy er konfigurert for å distribuere og administrere Elastic Beanstalk-miljøet.
- Amazon Web Services-konto med riktige tillatelser
- Amazon Web Services Elastic Beanstalk-tilgang aktivert
- Amazon Web Services CLI installert og konfigurert
- Elastic Beanstalk CLI installert
Forutsetninger for lokalt utviklingsmiljø
Installer og konfigurer følgende verktøy lokalt for å bygge, kjøre og distribuere agenten.
Redigeringsprogram for kode: Bruk Visual Studio Code eller Visual Studio
.NET SDK: Bruk .NET 8.0 SDK eller nyere
Amazon Web Services-verktøysett: Installer denne utvidelsen fra Visual Studio eller Visual Studio Code. Logg deg på ved å bruke legitimasjonen for Identitets- og tilgangsstyring for Amazon Web Services.
Tilgang til API for LLM: Velg riktig tjeneste basert på agentens konfigurasjon eller modelleverandøren du foretrekker:
- API-nøkkel for OpenAI: Få API-nøkkelen din for OpenAI
- Azure OpenAI: Opprett og distribuer en Azure OpenAI-ressurs for å få API-nøkkelen og endepunktet ditt
Opprett og rull ut en .NET-agent
Følgende instruksjoner beskriver hvordan du oppretter en minimal agent som gjør følgende:
- Svarer på GET
/ - Godtar Bot Framework-aktiviteter for POST
/api/messages
Opprett prosjektkatalog
mkdir aws-a365-agent
cd aws-a365-agent
Initialiser .NET-prosjekt
For å effektivisere funksjonen bruker denne artikkelen et eksempel som allerede er klargjort. Klon repositoriet Agent365 Samples og gå til eksemplet i dotnet\semantic-kernel\sample-agent.
Eksempelet Semantic Kernel Sample Agent – C#/.NET inneholder følgende:
- En minimal nett-API for ASP.NET Core
- Bot Framework-meldingshåndterer i
/api/messages -
Endepunkt for tilstandskontroll i
/ - Semantic Kernel-integrering for KI-funksjoner
Gå til dotnet\semantic-kernel\sample-agent og bekreft at prosjektet bygges uten feil:
dotnet restore
dotnet build
Konfigurer modell
Følg instruksjonene i Trinn 2: LLM-konfigurasjon for å konfigurere prosjektet ved å bruke API-nøkkelen for OpenAI.
Test lokalt (valgfritt)
Før du distribuerer til Amazon Web Services, tester du agenten lokalt:
# Run the application dotnet runTest endepunktene i en annen terminal:
# Test agent endpoint locally curl http://localhost:3978Trykk på
Ctrl+Cfor å stoppe den lokale serveren.
Bygg og distribuer
Velg ønsket alternativ for å bygge og distribuere dette eksempelprogrammet:
- Alternativ A: Bygg og distribuer fra Visual Studio
- Alternativ B: Bygg og distribuer til Amazon Web Services Elastic Beanstalk med CLI
Alternativ A: Bygg og distribuer fra Visual Studio
Bruk Amazon Web Services-verktøysettet for Visual Studio til å publisere appen i Elastic Beanstalk ved å bruke en veiledet veiviser.
I Løsningsutforsker høyreklikker du på prosjektet ditt.
Velg Publiser til Amazon Web Services Elastic Beanstalk.
Følg Beanstalk Deployment Wizard:
- Velg profilen for Amazon Web Services-legitimasjon.
- Velg område (for eksempel
us-east-1). - Velg plattform (
.NET Core on Linux). - Konfigurer miljøinnstillinger.
Velg Distribuer.
Veiviseren bygger, pakker og distribuerer programmet ditt til Amazon Web Services.
Alternativ B: Bygg og distribuer til Amazon Web Services Elastic Beanstalk med CLI
Bruk Elastic Beanstalk CLI til å pakke og distribuere .NET-agenten til et 64-biters Amazon Linux 2-miljø. Sørg for at Amazon Web Services CLI og EB CLI er konfigurert. Appen bindes til miljøvariabelen PORT angitt av Beanstalk.
Bygg og publiser .NET-programmet ditt:
# Publish for Linux runtime (AWS Elastic Beanstalk uses Amazon Linux) dotnet publish -c Release -o ./publish --runtime linux-x64Opprett Procfile med følgende innhold.
web: dotnet ./SemanticKernelSampleAgent.dllInitialiser Elastic Beanstalk for .NET. Du blir bedt om å velge område og plattform:
eb initVelg følgende:
-
Plattform:
64bit-amazon-linux-2023-v3.7.0-running-.net-8 -
Område: Ønsket Amazon Web Services-område (for eksempel
us-east-1)
-
Plattform:
Lag en distribusjonspakke og distribuer:
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployDenne kommandoen gjør følgende:
- Oppretter et Elastic Beanstalk-program.
- Oppretter et miljø med en belastningsfordeling.
- Distribuerer programmet ditt.
- Klargjør nødvendige Amazon Web Services-ressurser.
Når du er ferdig, henter du Elastic Beanstalk-endepunktet ditt:
eb statusNoter deg endepunktet ditt. Det skal se noenlunde slik ut:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comDette endepunktet er
messagingEndpointsom brukes av Agent 365 Dev Tools CLI.
Notat
For produksjonsmiljøer konfigurerer du HTTPS ved å legge til et SSL/TLS-sertifikat i Elastic Beanstalk. Bot Framework krever HTTPS for produksjonsendepunkter.
Konfigurer for vertstjeneste uten Azure
Opprett a365.config.json manuelt i Elastic Beanstalk-prosjektmappen din:
Viktig!
For vertstjeneste uten Azure setter du messagingEndpoint-verdien til Elastic Beanstalk-nettadressen din med banen /api/messages.
Filen a365.config.json skal se noenlunde slik ut:
{
"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"
}
Tabellen nedenfor oppsummerer viktige konfigurasjonsfelter og formålet med dem.
| Felt | Betydning |
|---|---|
messagingEndpoint |
Elastic Beanstalk-nettadressen din + /api/messages |
deploymentProjectPath |
Der .env-stempling skjer |
Bygg Agent 365-agenten
Etter at agentkoden din har kjørt mot et Amazon Web Services-endepunkt, følger du de gjenstående trinnene fra Kom i gang med Agent 365-utvikling for å konfigurere Agent 365-agenten.
Kontroller agenten fra ende til ende
Bruk disse kontrollene til å bekrefte at den Amazon Web Services-vertsbaserte agenten kan nås, mottar Bot Framework-aktiviteter og svarer riktig på tvers av Agent 365-overflater.
Bekreft tilkoblingen til Elastic Beanstalk
Send en GET-forespørsel til Elastic Beanstalk-endepunktet.
curl http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/
Forespørselen skal returnere denne meldingen:
AWS Agent is running.
Kontroller Elastic Beanstalk-logger for innkommende Bot Framework-meldinger
Bruk Elastic Beanstalk-logging til å bekrefte at agenten mottar Bot Framework-aktiviteter og svarer riktig.
eb logs
Eller strøm logger i sanntid:
eb logs --stream
Etter at agenten har mottatt en melding, ser du følgende:
POST 200 /api/messages
Received activity: { ... }
Test agenten fra Agent 365-overflater
Du kan teste agenten fra forskjellige overflater, avhengig av miljøet ditt:
- Agents Playground
- Teams (hvis publisert)
- Agent Shell
- Samlede overflater
Du kan sende meldinger og bekrefte Elastic Beanstalk-loggene. Finn ut hvordan du tester agenter med Microsoft Agent 365 SDK og validerer agentens funksjonalitet med testverktøyet Agents Playground.
Utviklerarbeidsflyt
Når konfigurasjonen er fullført, følger du denne arbeidsflyten for gjentatt utvikling:
Utvikle og test lokalt
Bruk overvåkingsmodus for rask utvikling med automatisk innlasting på nytt:
# Automatically rebuild and restart on file changes
dotnet watch run
Gjør kodeendringer, lagre og test lokalt før du distribuerer.
Bygg og distribuer på nytt til Amazon Web Services Elastic Beanstalk
Når du er klar til å implementere endringene:
# 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
Test og overvåk
Test ved å bruke Agent 365-overflater, og overvåk Elastic Beanstalk-logger:
# Stream logs in real-time
eb logs --stream
Du trenger ikke å opprette identiteten, malen, robotendepunktet eller tillatelsene på nytt.
Feilsøking
Bruk denne delen til å diagnostisere og løse vanlige problemer når du distribuerer og kjører en Agent 365-agent i Amazon Web Services Elastic Beanstalk. Den dekker tilkobling og tilstandskontroller. Den håndterer også portbinding, byggefeil og lisensieringsproblemer.
Tips
Feilsøkingsveiledning for Agent 365 inneholder anbefalinger på høyt nivå for feilsøking, anbefalte fremgangsmåter og koblinger til feilsøkingsinnhold for hver fase i utviklingssyklusen i Agent 365.
Meldingsendepunktet tar ikke imot forespørsler
Kontroller følgende detaljer:
- Endepunktet er nøyaktig som følger:
http://<your-app>.elasticbeanstalk.com/api/messages - Elastic Beanstalk-miljøet ditt er i god stand. Bruk kontrollen ved hjelp av
eb health. - Sikkerhetsgruppen din tillater innkommende HTTP- eller HTTPS-trafikk.
- Det finnes ingen brannmurregler eller VPC-begrensninger.
Problemer med programtilstanden
Kontroller miljøtilstanden:
eb health --refresh
Vis detaljerte logger:
eb logs
Portbindingsproblemer
Sørg for at programmet lytter på porten som er angitt av miljøvariabelen PORT. Elastic Beanstalk setter denne verdien automatisk.
.NET-bygge- eller kjøretidsproblemer
Kontroller byggefeil ved å bruke disse kommandoene:
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
Bekreft .NET-versjonen:
dotnet --version
dotnet --list-sdks
Se etter pakkeproblemer:
# List installed packages
dotnet list package
# Update packages
dotnet restore --force
Lisenstilordning mislyktes
Tildel en gyldig Microsoft 365-lisens manuelt, eller bruk en ulisensiert brukerbane hvis den støttes.