Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Sie müssen Teil des Frontier-Vorschauversionsprogramms sein, um Vorabzugriff auf Microsoft Agent 365 zu erhalten. Frontier verbindet Sie direkt mit den neuesten KI-Innovationen von Microsoft. Frontier-Vorschauversionen unterliegen den bestehenden Vorschauversionsbedingungen Ihrer Kundenvereinbarungen. Da sich diese Funktionen noch in der Entwicklung befinden, können sich ihre Verfügbarkeit und Merkmale im Laufe der Zeit ändern.
Lernen Sie, wie Sie einen Agent-365-Agenten erstellen, hosten, registrieren und veröffentlichen, der auf AWS Elastic Beanstalk läuft, mithilfe der Agent 365 CLI. Microsoft Entra und Graph stellen die Agentidentität, Berechtigungen und Blueprint bereit, während AWS Elastic Beanstalk die Laufzeit bereitstellt.
Wenn Sie Ihren Agenten auf Ihren Code verweisen möchten, der sich hinter einem AWS-Endpunkt befindet, benötigen Sie nur folgenden Schritt: Konfigurieren Sie für Nicht-Azure-Hosting. Dann folgen Sie allen anderen Schritten aus dem Entwicklungszyklus von Agent 365.
Ziele
Erfahren Sie, wie Sie Agent 365 und Microsoft 365 als Steuerebene verwenden und:
- Agent-Runtime auf AWS Elastic Beanstalk bereitstellen
- Konfigurieren von
a365.config.jsonfür das Hosting ohne Azure - Agent Blueprint in Entra ID erstellen
- Konfigurieren Sie OAuth2 + vererbbare Berechtigungen
- Registrieren Sie den Bot Framework Messaging-Endpunkt, der auf AWS zeigt.
- Agenten-Identität erstellen + Agent-Nutzer
- (Optional) Veröffentlichen auf Microsoft 365 App-Oberflächen
- Interaktionen End-to-End testen
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Azure/Microsoft 365, AWS und lokale Umgebungsvoraussetzungen erfüllt sind.
voraussetzungen für Azure/Microsoft 365
Bestätigen Sie ihren Microsoft Entra Mandantenzugriff, und installieren Sie die folgenden Tools, um Identitäten, Blueprints zu erstellen und Ihren Agent zu registrieren.
Ein Microsoft Entra Mandant mit:
- Berechtigung oder Rolle zur Erstellung von Anwendungen und Agenten-Blueprints (Global Administrator oder gleichwertig)
- Mitgliedschaft im Frontier-Vorschauprogramm , um frühen Zugriff auf Microsoft Agent 365 zu erhalten.
- Mindestens eine Microsoft 365 Lizenz für den Agent-Benutzer verfügbar
Amazon Web Services (AWS)-Voraussetzungen
Stellen Sie sicher, dass die folgenden AWS-Dienste und -Tools eingerichtet sind, um Ihre Elastic Beanstalk-Umgebung bereitzustellen und zu verwalten.
- AWS-Konto mit entsprechenden Berechtigungen
- AWS Elastic Beanstalk-Zugriff aktiviert
- AWS CLI installiert und konfiguriert
- Elastic Beanstalk CLI installiert
Voraussetzungen für das lokale Entwicklungsumfeld
Installieren und konfigurieren Sie die folgenden Tools lokal, um den Agenten zu erstellen, auszuführen und bereitzustellen.
Code-Editor: Verwenden Sie Visual Studio Code oder Visual Studio
.NET SDK: .NET 8.0 SDK oder höher verwenden
AWS Toolkit: Installieren Sie diese Erweiterung von Visual Studio oder Visual Studio Code. Melden Sie sich mit Ihren AWS Identity and Access Management (IAM) -Anmeldedaten an.
LLM-API-Zugriff: Wählen Sie den passenden Dienst basierend auf der Konfiguration Ihres Agenten oder Ihres bevorzugten Modellanbieters:
- OpenAI-API-Schlüssel: So erhalten Sie Ihren OpenAI-API-Schlüssel
- Azure OpenAI: Erstellen und bereitstellen Sie eine Azure OpenAI-Ressource, um Ihren API-Schlüssel und Endpunkt zu erhalten
Erstellen und Bereitstellen eines .NET-Agents
Die folgenden Anweisungen beschreiben, wie man einen minimalen Agenten erstellt, der:
- Reagiert auf GET
/ - Akzeptiert Bot-Framework-Aktivitäten auf POST
/api/messages
Projektverzeichnis erstellen
mkdir aws-a365-agent
cd aws-a365-agent
Initialisieren .NET Projekts
Um Ihre Erfahrung zu vereinfachen, verwendet dieser Artikel ein bereits vorbereitetes Beispiel. Klone das Agent365 Samples-Repository und gehe zum dotnet\semantic-kernel\sample-agent sample.
Der Semantic Kernel Beispiel-Agent - C#/.NET Muster umfasst:
- Eine minimale ASP.NET Core Web-API
- Bot Framework-Nachrichtenhandler bei
/api/messages -
Endpunkt der Gesundheitsprüfung bei
/ - Semantic Kernel Integration für KI-Funktionen
Gehen Sie zu dotnet\semantic-kernel\sample-agent und überprüfen Sie, ob das Projekt erfolgreich gebaut wird:
dotnet restore
dotnet build
Modell konfigurieren
Befolgen Sie die Anweisungen in Schritt 2: LLM-Konfiguration, um das Projekt mit Ihrem Open-API-Schlüssel zu konfigurieren.
Lokal testen (optional)
Teste vor der Bereitstellung bei AWS deinen Agenten lokal:
# Run the application dotnet runTeste die Endpunkte in einem anderen Terminal:
# Test agent endpoint locally curl http://localhost:3978Drücken Sie
Ctrl+C, um den lokalen Server zu stoppen.
Erstellen und Bereitstellen
Wählen Sie die Option, die Sie bevorzugen, um diese Beispielanwendung zu bauen und bereitzustellen:
- Option A: Erstellen und Bereitstellen mit Visual Studio
- Option B: Bauen und deployen auf AWS Elastic Beanstalk mit CLI
Option A: Erstellen und Bereitstellen in Visual Studio
Verwenden Sie das AWS Toolkit für Visual Studio, um die App mithilfe eines geführten Assistenten in Elastic Beanstalk zu veröffentlichen.
Klicken Sie in Solution Explorer mit der rechten Maustaste auf Ihr Projekt.
Wählen Sie Veröffentlichen auf AWS Elastic Beanstalk.
Folgen Sie dem Beanstalk Deployment-Wizard:
- Wählen Sie Ihr AWS-Anmeldeprofil aus.
- Wähle Region (zum Beispiel,
us-east-1). - Wählen Sie "Plattform" (
.NET Core on Linux) aus. - Konfigurieren Sie die Umgebungseinstellungen.
Klicken Sie auf Bereitstellen.
Der Assistent erstellt, paketiert und stellt Ihre Anwendung auf AWS bereit.
Option B: Bauen und deployen Sie auf AWS Elastic Beanstalk mit CLI
Verwenden Sie die Elastic Beanstalk CLI, um den .NET Agent in einer 64-Bit-Amazon Linux 2-Umgebung zu packen und bereitzustellen. Stelle sicher, dass AWS CLI und EB CLI konfiguriert sind. Die App bindet an die PORT von Beanstalk gesetzte Umgebungsvariable.
Erstellen und veröffentlichen Sie Ihre .NET Anwendung:
# Publish for Linux runtime (AWS Elastic Beanstalk uses Amazon Linux) dotnet publish -c Release -o ./publish --runtime linux-x64Erstellen Sie Procfile mit folgendem Inhalt.
web: dotnet ./SemanticKernelSampleAgent.dllInitialisieren Sie Elastic Beanstalk für .NET. Sie werden aufgefordert, Region und Plattform auszuwählen:
eb initWählen Sie Folgendes aus:
-
Plattform:
64bit-amazon-linux-2023-v3.7.0-running-.net-8 -
Region: Ihre bevorzugte AWS-Region (zum Beispiel:
us-east-1)
-
Plattform:
Erstellen Sie ein Bereitstellungspaket und stellen Sie es bereit.
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployDieser Befehl:
- Erstellt eine Elastic Beanstalk-Anwendung.
- Erstellt eine Umgebung mit einem Load Balancer.
- Stellt deine Anwendung bereit.
- Stellt notwendige AWS-Ressourcen bereit.
Wenn Sie fertig sind, erhalten Sie Ihren Elastic-Beanstalk-Endpunkt:
eb statusNotieren Sie Ihren Endpunkt. Das sollte in etwa so aussehen:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comDieser Endpunkt wird
messagingEndpointvon der Agent 365 Dev Tools CLI verwendet.
Hinweis
Für Produktionsumgebungen konfigurieren Sie HTTPS, indem Sie ein SSL/TLS-Zertifikat in Elastic Beanstalk hinzufügen. Das Bot Framework benötigt HTTPS für Produktionsendpunkte.
Konfigurieren für Nicht-Azure Hosting
Erstellen Sie a365.config.json in Ihrem Elastic Beanstalk-Projektordner, indem Sie a365 config init ausführen.
Von Bedeutung
Legen Sie für das Hosting ohne Azure die folgenden Werte fest:
-
messagingEndpoint: Ihre Elastic Beanstalk-URL mit dem/api/messagesPfad -
needDeployment:false
Die Datei a365.config.json sollte ungefähr so aussehen:
{
"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"
}
Die folgende Tabelle fasst wichtige Konfigurationsfelder und deren Zweck zusammen.
| Feld | Bedeutung |
|---|---|
messagingEndpoint |
Deine Elastic Beanstalk URL + /api/messages |
"needDeployment": false |
CLI mitteilen: "Ich hoste meinen eigenen Server, nicht auf Azure bereitstellen." |
deploymentProjectPath |
Wo .env das Stempeln stattfindet |
Build Agent 365 Agent
Nachdem Ihr Agentencode an einem AWS-Endpunkt ausgeführt wird, folgen Sie den verbleibenden Schritten aus dem Entwicklungszyklus von Agent 365 , um Ihren Agent-365-Agenten einzurichten.
Verifizieren Sie den Agenten von Anfang bis Ende
Nutzen Sie diese Prüfungen, um sicherzustellen, dass Ihr AWS-gehosteter Agent erreichbar ist, Bot-Framework-Aktivitäten empfängt und korrekt auf Agent-365-Oberflächen reagiert.
Überprüfen Sie die Konnektivität von Elastic Beanstalk
Senden Sie eine GET-Anfrage an Ihren Elastic Beanstalk-Endpunkt.
curl http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/
Die Anfrage sollte folgende Nachricht zurückgeben:
AWS Agent is running.
Überprüfen Sie die Elastic Beanstalk-Protokolle auf eingehende Bot-Framework-Nachrichten
Nutzen Sie Elastic Beanstalk Logging, um zu überprüfen, dass Ihr Agent Bot-Framework-Aktivitäten empfängt und korrekt reagiert.
eb logs
Oder Stream-Logs in Echtzeit:
eb logs --stream
Nachdem eine Nachricht Ihren Agenten erreicht hat, sehen Sie:
POST 200 /api/messages
Received activity: { ... }
Testmittel von Agent-365-Oberflächen
Je nach Umgebung können Sie Ihr Mittel auf verschiedenen Oberflächen testen:
- Agenten Spielplatz
- Teams (sofern veröffentlicht)
- Agent-Shell
- Verbundoberflächen
Sie können Nachrichten senden und Ihre Elastic Beanstalk-Protokolle überprüfen. Lernen Sie, wie Sie Agenten mit dem Microsoft Agent 365 SDK testen und die Funktionalität Ihres Agenten mit dem Testwerkzeug Agents Playground validieren.
Entwickler-Arbeitsablauf
Sobald die Einrichtung abgeschlossen ist, folgen Sie diesem Workflow für die iterative Entwicklung:
Entwicklung und Testen lokal
Verwenden Sie den Uhrenmodus für schnelle Entwicklung mit automatischem Nachladen:
# Automatically rebuild and restart on file changes
dotnet watch run
Mach deine Code-Änderungen, speichere und teste lokal, bevor du es bereitstellst.
Bauen und neu deployen auf AWS Elastic Beanstalk
Wenn Sie bereit sind, Ihre Änderungen einzusetzen:
# 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 und überwachen
Testen Sie mit Agent-365-Oberflächen und überwachen Sie die Elastic Beanstalk-Protokolle:
# Stream logs in real-time
eb logs --stream
Du musst deine Identität, den Blueprint, den Bot-Endpunkt oder deine Berechtigungen nicht neu erstellen.
Problembehandlung
Verwenden Sie diesen Abschnitt, um häufige Probleme beim Bereitstellen und Ausführen eines Agent-365-Agenten auf AWS Elastic Beanstalk zu diagnostizieren und zu beheben. Es deckt Konnektivität und Gesundheitschecks ab. Es adressiert außerdem Portbindungen, Build-Fehler und Lizenzprobleme.
Tipp
Der Agent 365 Troubleshooting Guide enthält übergeordnete Empfehlungen zur Fehlerbehebung, Best Practices und Links zu Inhalten zur Fehlerbehebung für jeden Teil des Entwicklungszyklus von Agent 365.
Der Messaging-Endpunkt empfängt keine Anfragen
Überprüfen Sie die folgenden Details:
- Dein Endpunkt ist genau:
http://<your-app>.elasticbeanstalk.com/api/messages - Ihr Elastic Beanstalk-Umfeld ist gesund. Verwenden Sie die Überprüfung mit
eb health. - Ihre Sicherheitsgruppe erlaubt eingehenden HTTP- oder HTTPS-Verkehr.
- Es gibt keine Firewall-Regeln oder VPC-Einschränkungen.
Anwendungsgesundheitsprobleme
Überprüfen Sie die Umweltgesundheit:
eb health --refresh
Sehen Sie sich detaillierte Protokolle an:
eb logs
Portbindungsprobleme
Stelle sicher, dass deine Anwendung auf dem Port lauscht, der durch die Umgebungsvariable PORT angegeben ist (Elastic Beanstalk setzt diesen Wert automatisch).
.NET Build- oder Laufzeitprobleme
Überprüfen Sie auf Build-Fehler mit diesen Befehlen:
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
Überprüfen sie .NET Version:
dotnet --version
dotnet --list-sdks
Überprüfen Sie auf Paketprobleme:
# List installed packages
dotnet list package
# Update packages
dotnet restore --force
Lizenzübertragung fehlschlägt
Weisen Sie eine gültige Microsoft 365-Lizenz manuell zu, oder verwenden Sie bei Unterstützung einen nicht lizenzierten Benutzerpfad.