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.
Hier können Sie lernen, wie man einen Agent-365-Agenten auf AWS Elastic Beanstalk erstellt, hostet, registriert und veröffentlicht, mithilfe der Agent 365 CLI. Microsoft Entra & Graph stellt die Agentenidentität, Berechtigungen und den Blueprint bereit, während AWS Elastic Beanstalk die Laufzeit bereitstellt.
Wenn Sie Ihren Agenten nur auf Ihren Code verweisen möchten, der sich hinter einem AWS-Endpunkt befindet, benötigen Sie nur diesen Schritt: Konfigurieren Sie für Nicht-Azure-Hosting und folgen Sie dann allen anderen Schritten aus dem Agent 365 Development Lifecycle.
Ziele
Lernen Sie, wie Sie Agent 365 und Microsoft 365 als 'Kontrollebene' verwenden und:
- Agent-Runtime auf AWS Elastic Beanstalk bereitstellen
- Configure
a365.config.jsonfor non-Azure hosting - Agent Blueprint in Entra ID erstellen
- Konfigurieren Sie OAuth2 + vererbbare Berechtigungen
- Register Bot Framework Messaging-Endpunkt zeigt auf AWS
- Agenten-Identität erstellen + Agent-Nutzer
- (Optional) Veröffentlichen auf Microsoft 365 App-Oberflächen
- Testwechselwirkungen End-to-End-Verfahren
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen für Azure / Microsoft 365, AWS und lokale Umgebungen erfüllt sind.
Azure / Microsoft 365 prerequisites
Bestätigen Sie Ihren Microsoft Entra-Tenant-Zugriff und installieren Sie die folgenden Tools, um Identitäten, Baupläne zu erstellen und Ihren Agenten zu registrieren.
Ein Microsoft Entra-Tenant mit:
- Berechtigung / Rolle zur Erstellung von Anwendungen und Agenten-Blueprints (Global Administrator oder gleichwertig)
- Du musst Teil des Frontier-Vorschauprogramms sein, um frühzeitigen Zugriff auf Microsoft Agent 365 zu erhalten.
- Mindestens eine Microsoft 365-Lizenz steht für den Agent-Nutzer zur Verfügung
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
- Elastische Bohnenstängel-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: Visual Studio Code oder Visual Studio werden empfohlen
.NET SDK:.NET 8.0 SDK oder neuer
AWS Toolkit: Installieren Sie diese Erweiterung aus Visual Studio oder Visual Studio Code und melden Sie sich mit Ihren AWS Identity and Access Management (IAM)- Zugangsdaten an
LLM-API-Zugriff: Wählen Sie den passenden Dienst basierend auf der Konfiguration Ihres Agenten oder Ihres bevorzugten Modellanbieters:
- OpenAI-API-Schlüssel: Abrufen Ihres OpenAI-API-Schlüssels
- Azure OpenAI: Erstellen und Bereitstellen einer Azure OpenAI-Ressource zum Abrufen Ihres API-Schlüssels und -Endpunkts
Erstellen und deployen Sie einen .NET-Agenten
Die folgenden Anweisungen beschreiben, wie man einen minimalen Agenten erstellt, der:
- Antwortet auf GET
/ - Akzeptiert Bot-Framework-Aktivitäten auf POST
/api/messages
Projektverzeichnis erstellen
mkdir aws-a365-agent
cd aws-a365-agent
Initialisieren Sie das .NET-Projekt
Um Ihre Erfahrung zu optimieren, verwenden wir eine bereits vorbereitete Stichprobe. Klone das Agent365 Samples-Repository und navigiere zum dotnet\semantic-kernel\sample-agent sample.
Die Semantic Kernel Sample Agent - C#/.NET-Stichprobe umfasst:
- Eine minimale ASP.NET Core Web API
- Bot Framework-Nachrichtenhandler bei
/api/messages -
Endpunkt der Gesundheitsprüfung bei
/ - Integration des semantischen Kernels für KI-Fähigkeiten
Navigieren 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ücke,
Ctrl+Cum 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: Bauen und deployen aus Visual Studio
- Option B: Bauen und deployen auf AWS Elastic Beanstalk mit CLI
Option A: Bauen und deployen aus Visual Studio
Verwenden Sie das AWS Toolkit für Visual Studio, um die App mit einem geführten Assistenten auf Elastic Beanstalk zu veröffentlichen.
Im Solution Explorer klicke mit der rechten Maustaste auf dein Projekt
Wählen Sie Veröffentlichen in AWS Elastic Beanstalk aus
Folgen Sie dem Bohnenstängel-Deployment-Wizard:
- Wählen Sie Ihr AWS-Anmeldeprofil
- Region auswählen (zum Beispiel,
us-east-1) - Plattform auswählen (
.NET Core on Linux) - Umgebungseinstellungen konfigurieren
Auswählen Deploy
Der Assistent erstellt, paketiert und bereitet deine Anwendung auf AWS aus.
Option B: Bauen und deployen Sie auf AWS Elastic Beanstalk mit CLI
Verwenden Sie die Elastic Beanstalk CLI, um den .NET-Agenten in einer 64-Bit-Amazon Linux 2-Umgebung zu paketieren und bereitzustellen; stellen Sie sicher, dass AWS CLI/EB CLI konfiguriert sind und die App an die PORT von Beanstalk gesetzte Umgebungsvariable bindet.
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 untenstehenden Inhalten
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 bereitstellen Sie ein:
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployDies bewirkt Folgendes:
- Erstellen Sie eine Elastic Beanstalk-Anwendung
- Erstellen Sie eine Umgebung mit einem Load Balancer
- Stellen Sie Ihre Anwendung bereit
- Bereitstellung notwendiger AWS-Ressourcen
Wenn Sie fertig sind, erhalten Sie Ihr Elastic Beanstalk-Endpunkt:
eb statusNotieren Sie Ihren Endpunkt. Das sollte in etwa so aussehen:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comDies 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.
Configure for non-Azure hosting
Erstellen a365.config.json Sie in Ihrem Elastic Beanstalk-Projektordner, indem Sie ausführen a365 config init:
Von Bedeutung
Für Nicht-Azure-Hosting musst du:
- Setze
messagingEndpointdeine Elastic Beanstalk-URL (mit/api/messagesPfad) - Legen Sie
needDeploymentauffalsefest.
Die Akte 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 |
Sagt zu CLI: 'Ich hoste meinen eigenen Server; don't deploy to Azure' |
deploymentProjectPath |
Wo .env das Stempeln stattfindet |
Build Agent 365 Agent
Sobald Ihr Agentencode an einem AWS-Endpunkt läuft, 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.
Verifizieren Sie die Verbindung der elastischen Bohnenstängel
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:
- Agents Playground
- Teams (falls veröffentlicht)
- Agent Shell
- Föderierte Flächen
Sie können jetzt Nachrichten senden und Ihre Elastic Beanstalk-Protokolle verifizieren. Lernen Sie, wie Sie Agenten mit dem Microsoft Agent 365 SDK testen und die Funktionalität Ihres Agenten mit dem Testwerkzeug Agents Playground validieren können.
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 über Agent-365-Oberflächen und überwachen Sie die Elastic Beanstalk-Protokolle:
# Stream logs in real-time
eb logs --stream
Ihre Identität, Ihr Blueprint, Ihr Bot-Endpunkt und Ihre Berechtigungen müssen NICHT neu erstellt werden.
Problembehandlung
Verwenden Sie diesen Abschnitt, um häufige Probleme beim Deployen und Betrieb 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.
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 den Scheck mit
eb health - Ihre Sicherheitsgruppe erlaubt eingehenden HTTP/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
Stellen Sie sicher, dass Ihre Anwendung auf dem Port lauscht, der durch die Umgebungsvariable PORT angegeben ist (Elastic Beanstalk setzt dies automatisch).
.NET-Build- oder Laufzeitprobleme
Überprüfen Sie mit diesen Befehlen auf Build-Fehler:
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
Verifizieren Sie die .NET-Version:
dotnet --version
dotnet --list-sdks
Prü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 einen nicht lizenzierten Benutzerpfad, falls dies unterstützt wird.
Hilfe erhalten
- Wenn Sie Probleme mit der Agent 365 CLI haben, die in diesem Abschnitt zur Fehlerbehebung nicht behandelt werden, überprüfen Sie offene Probleme auf GitHub oder erstellen Sie ein neues Problem.
Weitere Hilfeoptionen
Betrachten Sie Folgendes, um Hilfe zu finden:
Überprüfen Sie den Beispielcode und die Dokumentation in den Beispielen
Überprüfen oder reichen Sie weitere GitHub-Themen im entsprechenden SDK-Repository ein: