Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Lär dig hur du bygger, driftsätter, registrerar och publicerar en Agent 365-agent som körs på AWS Elastic Beanstalk, med hjälp av Agent 365 CLI. Microsoft Entra och Graph tillhandahåller agentens identitet, behörigheter och Blueprint, medan AWS Elastic Beanstalk tillhandahåller körmiljön.
Om du vill peka din agent till din kod som finns bakom en AWS-slutpunkt behöver du bara följande steg: Konfigurera för icke-Azure-hosting. Följ sedan alla andra steg från Kom igång med utveckling av Agent 365.
Mål
Lär dig att använda Agent 365 och Microsoft 365 som "kontrollplanet" och:
- Distribuera agentens körmiljö på AWS Elastic Beanstalk
- Konfigurera
a365.config.jsonför värdmiljö utanför Azure - Skapa Agent Blueprint i Entra ID
- Konfigurera OAuth2 + ärvbara behörigheter
- Registrera Bot Framework slutpunkt för meddelanden riktad mot AWS
- Skapa agentidentitet + agentanvändare
- (Valfritt) Publicera till Microsoft 365-ytor
- Testa kompletta interaktioner
Krav
Innan du börjar, säkerställ att följande Azure / Microsoft 365-, AWS- och lokala förutsättningar är uppfyllda.
Azure / Microsoft 365 förutsättningar
Bekräfta att du har åtkomst till din Microsoft Entra-tenant och installera följande verktyg för att skapa identiteter, blueprints och registrera din agent.
En Microsoft Entra ID-klientorganisation med:
- Behörighet eller roll att skapa appar och agent blueprints (Global Administratör eller motsvarande)
- Medlemskap i Frontier förhandsversion program för att få tidig tillgång till Microsoft Agent 365.
- Minst en Microsoft 365-licens tillgänglig för agentanvändaren
Förutsättningar för Amazon Web Services (AWS)
Säkerställ att följande AWS-tjänster och verktyg är konfigurerade för att distribuera och hantera din Elastic Beanstalk-miljö.
- AWS-konto med lämpliga behörigheter
- AWS Elastic Beanstalk-åtkomst aktiverad
- AWS CLI installerad och konfigurerad
- Elastic Beanstalk CLI installerad
Förutsättningar för lokal utvecklingsmiljö
Installera och konfigurera följande verktyg lokalt för att bygga, köra och distribuera agenten.
Kodredigerare: Använd Visual Studio Code eller Visual Studio
.NET SDK: Använd .NET 8.0 SDK eller senare
AWS Toolkit: Installera tillägget från Visual Studio eller Visual Studio Code. Logga in med dina AWS Identity and Access Management (IAM)-uppgifter.
LLM API-åtkomst: Välj lämplig tjänst baserat på agentens konfiguration eller önskad modellleverantör:
- OpenAI API-nyckel: Hämta din OpenAI API-nyckel
- Azure OpenAI: Skapa och driftsätt en Azure OpenAI-resurs för att hämta din API-nyckel och slutpunkt
Skapa och distribuera en .NET-agent
Följande instruktioner beskriver hur man skapar en minimal agent som:
- Svarar på GET
/ - Accepterar Bot Framework-aktiviteter på POST
/api/messages
Skapa projektkatalog
mkdir aws-a365-agent
cd aws-a365-agent
Initiera .NET-projekt
För att förenkla din upplevelse använder den här artikeln ett exempel som redan är förberett. Klona Agent365 Samples-lagringsplats och gå till DotNet\semantic-kernel\sample-agent-exemplet.
Semantic Kernel Sample Agent - C#/.NET-exemplet inkluderar:
- Ett minimalt ASP.NET Core Web API
- Bot Framework-meddelandehanterare på
/api/messages -
Hälsokontroll-slutpunkt på
/ - Semantic Kernel-integrering för AI-funktioner
Gå till dotnet\semantic-kernel\sample-agent och verifiera att projektet bygger korrekt:
dotnet restore
dotnet build
Konfigurera modellen
Följ instruktionerna i Steg 2: LLM-konfiguration för att konfigurera projektet med din Open API-nyckel.
Testa lokalt (valfritt)
Testa din agent lokalt innan du distribuerar till AWS:
# Run the application dotnet runTesta slutpunkterna i en annan terminal:
# Test agent endpoint locally curl http://localhost:3978Tryck
Ctrl+Cför att stoppa den lokala servern.
Skapa och distribuera
Välj det alternativ du föredrar för att bygga och distribuera denna exempelapp:
- Alternativ A: Bygg och distribuera från Visual Studio
- Alternativ B: Bygg och distribuera till AWS Elastic Beanstalk med CLI
Alternativ A: Bygg och distribuera från Visual Studio
Använd AWS Toolkit för Visual Studio för att publicera appen till Elastic Beanstalk med hjälp av en guidad guide.
I Lösningsutforskaren, högerklicka på ditt projekt.
Välj Publicera till AWS Elastic Beanstalk.
Följ Beanstalk-distributionsguiden:
- Välj din AWS-profil för autentisering.
- Välj region (till exempel
us-east-1). - Välj plattform (
.NET Core on Linux). - Konfigurera miljöinställningar.
Välj distribuera.
Guiden bygger, paketerar och distribuerar din app till AWS.
Alternativ B: Bygg och distribuera till AWS Elastic Beanstalk med CLI
Använd Elastic Beanstalk CLI för att paketera och distribuera .NET-agenten till en 64-bitars Amazon Linux 2-miljö. Se till att AWS CLI och EB CLI är konfigurerade. Appen binder till miljövariabeln PORT som Beanstalk ställer in.
Bygg och publicera din .NET-app:
# Publish for Linux runtime (AWS Elastic Beanstalk uses Amazon Linux) dotnet publish -c Release -o ./publish --runtime linux-x64Skapa Procfile med följande innehåll.
web: dotnet ./SemanticKernelSampleAgent.dllInitiera Elastic Beanstalk för .NET. Du ombeds välja Region och Plattform:
eb initVälj:
-
Plattform:
64bit-amazon-linux-2023-v3.7.0-running-.net-8 -
Region: Din föredragna AWS-region (till exempel:
us-east-1)
-
Plattform:
Skapa ett distributionspaket och distribuera:
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployDet här kommandot:
- Skapar en Elastic Beanstalk-app.
- Skapar en miljö med en lastbalanserare.
- Distribuerar din app.
- Skapar nödvändiga AWS-resurser.
När du är klar, hämta din Elastic Beanstalk-slutpunkt:
eb statusNotera din slutpunkt. Den bör se ut ungefär så här:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comDetta är slutpunkten
messagingEndpointsom används av Agent 365 Dev Tools CLI.
Kommentar
För produktionsmiljöer, konfigurera HTTPS genom att lägga till ett SSL/TLS-certifikat i Elastic Beanstalk. Bot Framework kräver HTTPS för produktionsslutpunkter.
Konfigurera för värdmiljö utanför Azure
Skapa a365.config.json manuellt i din Elastic Beanstalk-projektmapp:
Viktigt
För icke-Azure-värdtjänst, ange värdet för messagingEndpoint till din Elastic Beanstalk-URL med sökvägen /api/messages.
a365.config.json-filen bör se ut ungefär som följer:
{
"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"
}
Följande tabell sammanfattar viktiga konfigurationsfält och deras syfte.
| Fält | Betydelse |
|---|---|
messagingEndpoint |
Din Elastic Beanstalk-URL + /api/messages |
deploymentProjectPath |
Där .env-stämpling sker |
Bygg Agent 365-agent
Efter att din agentkod har körts mot en AWS-slutpunkt, följ de återstående stegen från Kom igång med Agent 365-utvecklingen för att konfigurera din Agent 365-agent.
Verifiera agenten från början till slut
Använd dessa kontroller för att säkerställa att din AWS-hostade agent är nåbar, tar emot Bot Framework-aktiviteter och svarar korrekt över Agent 365-ytor.
Verifiera Elastic Beanstalk-anslutning
Skicka en GET-förfrågan till din Elastic Beanstalk-slutpunkt.
curl http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/
Förfrågan bör returnera detta meddelande:
AWS Agent is running.
Kontrollera Elastic Beanstalk-loggar för inkommande meddelanden från Bot Framework
Använd Elastic Beanstalk-loggning för att verifiera att din agent tar emot Bot Framework-aktiviteter och svarar korrekt.
eb logs
Eller strömma loggar i realtid:
eb logs --stream
När ett meddelande når din agent ser du:
POST 200 /api/messages
Received activity: { ... }
Testämne från Agent 365-ytor
Beroende på din miljö kan du testa din agent från olika gränssnitt:
- Testplats för agenter
- Teams (om publicerat)
- Agent Shell
- Federerade ytor
Du kan skicka meddelanden och verifiera dina Elastic Beanstalk-loggar. Lär dig att testa agenter med Microsoft Agent 365 SDK och att validera din agents funktionalitet med testverktyget Agents Playground.
Arbetsflöde för utvecklare
När installationen är klar, följ detta arbetsflöde för iterativ utveckling:
Utveckla och testa lokalt
Använd watch mode för snabb utveckling med automatisk omladdning:
# Automatically rebuild and restart on file changes
dotnet watch run
Gör dina kodändringar, spara och testa lokalt innan du distribuerar.
Bygg och distribuera om till AWS Elastic Beanstalk
När du är redo att distribuera dina ändringar:
# 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
Testa och övervaka
Testa med hjälp av Agent 365-gränssnitt och övervaka Elastic Beanstalk-loggar:
# Stream logs in real-time
eb logs --stream
Du behöver inte skapa om din identitet, ritning, robotslutpunkter eller behörigheter.
Felsökning
Använd detta avsnitt för att identifiera och åtgärda vanliga problem vid distribution och drift av en Agent 365-agent på AWS Elastic Beanstalk. Den täcker anslutning och hälsokontroller. Avsnittet behandlar även portbindning, byggfel och licensieringsproblem.
Dricks
Agent 365-felsökningsguide innehåller övergripande felsökningsrekommendationer, bästa praxis och länkar till felsökningsinnehåll för varje enskild del av Agent 365:s utvecklingslivscykel.
Meddelandeslutpunkten tar inte emot begäranden
Kontrollera följande detaljerad information:
- Din slutpunkt är exakt följande:
http://<your-app>.elasticbeanstalk.com/api/messages - Din Elastic Beanstalk-miljö har god hälsostatus. Använd kontrollen genom att använda
eb health. - Din säkerhetsgrupp tillåter inkommande HTTP- eller HTTPS-trafik.
- Det finns inga brandväggsregler eller VPC-begränsningar.
Problem med appens hälsa
Kontrollera miljöns hälsa:
eb health --refresh
Visa detaljerade loggar:
eb logs
Portbindningsproblem
Säkerställ att appen lyssnar på den port som anges av miljövariabeln PORT. Elastic Beanstalk sätter detta värde automatiskt.
.NET-bygg- eller körtidsproblem
Kontrollera byggfel med dessa kommandon:
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
Verifiera .NET-versionen:
dotnet --version
dotnet --list-sdks
Kontrollera eventuella paketproblem:
# List installed packages
dotnet list package
# Update packages
dotnet restore --force
Licenstilldelning misslyckas
Tilldela manuellt en giltig Microsoft 365-licens, eller använd ett alternativ för olicensierade användare om det stöds.