Freigeben über


Lernprogramm: Einrichten eines Teams-Bots für Azure SRE-Agent

In diesem Lernprogramm stellen Sie Ihren Azure SRE-Agent als Microsoft Teams-Bot bereit, damit Ihr Team direkt in DMs chatten kann oder indem Sie ihn in Kanälen @erwähnen.

Tipp

Was Sie in diesem Lernprogramm erreichen:

  • Ihr Agent wird als Bot in Microsoft Teams angezeigt.
  • Teammitglieder können den Bot für private Untersuchungen dmen.
  • Teammitglieder können den Bot in Kanälen @erwähnen, um gemeinsam Probleme zu lösen.
  • Antworten fließen automatisch zurück zu Teams.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie über die folgenden Ressourcen und Zugriff verfügen:

Anforderung Einzelheiten
Azure SRE-Agent Ein Agent wird bereitgestellt und ausgeführt
Azure-Abonnement So erstellen Sie die Azure Bot Service-Ressource
Vom Benutzer zugewiesene verwaltete Identität Die Identität, die Ihr Agent verwendet (während der Agentbereitstellung erstellt)
Teams-Administratorzugriff So veröffentlichen Sie die Bot-App in Ihrer Organisation

Übersicht

Richten Sie den Teams-Bot in drei Schritten ein:

  1. Bereitstellung von Azure Bot Service: Registrieren Sie den Endpunkt des Agenten beim Bot Framework.
  2. Erstellen Sie das Teams-App-Paket: Erstellen Sie das Manifest, das Teams zum Installieren des Bots benötigt.
  3. Veröffentlichen in Teams: Stellen Sie den Bot für Ihre Organisation zur Verfügung.

Schritt 1: Bereitstellen des Azure Bot-Diensts

Der Azure Bot-Dienst leitet Nachrichten zwischen Teams und Ihrem Agent weiter. Die Codebasis Ihres Agents enthält eine Bicep-Vorlage, die diese Ressource erstellt.

Sammeln erforderlicher Werte

Sammeln Sie vor der Bereitstellung die folgenden Werte:

Wert Wo sie zu finden ist Beispiel
Bot-App-Client-ID Die verwaltete Identitäts-Client-ID Ihres Agenten aaaaaaaa-0000-1111-...
Bot-App-Domäne Container-App-FQDN Ihres Agents my-agent.eastus2.azuresre.ai
Bot-Anzeigename Der Name, den der Bot in Teams anzeigen soll SRE Agent
App-Typ UserAssignedMsi für verwaltete Identität (empfohlen) UserAssignedMsi
Mandanten-ID Ihre Microsoft Entra Mandanten-ID aaaaaaaa-0000-1111-...

Bereitstellen über die Azure-Befehlszeilenschnittstelle

Führen Sie den folgenden Befehl aus, um die Bot Service-Ressource bereitzustellen.

az deployment group create \
  --name sre-agent-bot \
  --resource-group <RESOURCE_GROUP> \
  --template-file deploy/teams-bot.bicep \
  --parameters \
    resourceBaseName=<BOT_NAME> \
    botAadAppClientId=<MANAGED_IDENTITY_CLIENT_ID> \
    botAppDomain=<AGENT_FQDN> \
    botDisplayName="SRE Agent" \
    microsoftAppType=UserAssignedMsi \
    microsoftAppTenantId=<TENANT_ID>

Die Vorlage "Bicep" erstellt die folgenden Ressourcen:

  • Eine Azure Bot Service-Ressource.
  • Eine Teams-Kanalverbindung für diesen Bot.
  • Der Messagingendpunkt, der auf https://<AGENT_FQDN>/api/messages zeigt.

Konfigurieren Ihres Agents

Ihr Agent benötigt drei Umgebungsvariablen, um Teams-Nachrichten zu akzeptieren. Legen Sie diese Variablen für Ihre Container-App fest.

Variable Wert Beschreibung
Teams-Bot-App-ID Die Client-ID Ihrer verwalteten Identität Identifiziert den Bot für das Bot-Framework
Teams Bot-App-Typ UserAssignedMsi Authentifizierungsmethode (verwaltete Identität empfohlen)
Teams Bot-Mandanten-ID Ihre Microsoft Entra Mandanten-ID Bereichsauthentifizierung für Ihren Mandanten

Die genauen Namen der Umgebungsvariablen folgen der ASP.NET Konfigurationsbindungskonvention für Ihre Bereitstellung. Ohne diese Variablen gibt der Teams-Endpunkt 503 zurück, und der Bot wird offline angezeigt.

Tipp

Bei Verwendung UserAssignedMsibenötigen Sie kein Kennwort oder einen geheimen Schlüssel. Die verwaltete Identität verarbeitet die Authentifizierung automatisch.

Schritt 2: Erstellen des Teams-App-Pakets

Das Teams-App-Paket ist eine ZIP-Datei, die ein Manifest und Symbole enthält. Die Codebasis Ihres Agents enthält eine Vorlage und ein Buildskript.

Erstellen der Umgebungsdatei

Erstellen Sie eine .env Datei mit Ihren Bereitstellungswerten.

TEAMS_APP_ID=<UNIQUE_GUID_FOR_TEAMS_APP>
AAD_APP_CLIENT_ID=<MANAGED_IDENTITY_CLIENT_ID>
BOT_DOMAIN=<AGENT_FQDN>
BOT_NAME="SRE Agent"
RESOURCE_SUFFIX=<SHORT_NAME>
MICROSOFT_APP_TYPE=UserAssignedMsi
MICROSOFT_APP_TENANT_ID=<TENANT_ID>
RESOURCE_GROUP=<RESOURCE_GROUP>

Hinweis

Generieren Sie eine neue GUID für TEAMS_APP_ID, oder erstellen Sie eine App im Teams-Entwicklerportal , und verwenden Sie dessen ID.

Ausführen des Buildskripts

Führen Sie das Buildskript aus, um das App-Paket zu generieren.

cd TeamsResources
chmod +x build.sh
./build.sh

Dieses Skript führt folgende Aktionen aus:

  1. Ersetzt Ihre Werte in der Manifestvorlage.
  2. Stellt den Bot-Dienst in Azure bereit.
  3. Erstellt appPackage.zip mit dem Manifest und den Symbolen.

Das Ergebnis appPackage.zip ist bereit, in Teams hochzuladen.

Schritt 3: Veröffentlichen in Teams

Laden Sie das App-Paket hoch, und überprüfen Sie, ob der Bot in Ihrer Organisation verfügbar ist.

Hochladen des App-Pakets

Führen Sie die folgenden Schritte aus, um den Bot in Ihrer Organisation zu veröffentlichen.

  1. Öffnen Sie das Teams Admin Center unter admin.teams.microsoft.com.
  2. Wechseln Sie zu Teams-Apps>Apps verwalten.
  3. Wählen Sie "Neue App hochladen" aus.
  4. Wählen Sie appPackage.zip aus.
  5. Wählen Sie "Veröffentlichen " aus, um die App in Ihrer Organisation verfügbar zu machen.

In Teams überprüfen

Vergewissern Sie sich, dass der Bot barrierefrei ist und reagiert.

  1. Öffnen Sie Microsoft Teams.
  2. Wählen Sie "Apps" in der Randleiste aus.
  3. Suchen Sie nach dem Namen Ihres Bots (z. B. "SRE-Agent").
  4. Wählen Sie "Hinzufügen" aus, um es zu installieren.
  5. Starten Sie einen Chat, indem Sie "Hello" eingeben.

Der Agent antwortet mit einer Willkommensnachricht, die sich selbst und seine Funktionen einführt.

Testen der Integration

Testen Sie den Bot nach der Veröffentlichung sowohl in direkten Nachrichten als auch in Kanal-Erwähnungen.

DM-Test

Öffnen Sie einen direkten Chat mit dem Bot:

You: Check the health of my resources

Agent: Searching your subscription for resource health...
✅ 10/12 resources healthy
⚠️ web-app-prod: High memory (87%)

Kanaltest

Erwähnen Sie in einem Teamkanal den Bot:

@SREAgent what's the error rate on api-gateway?

Der Bot sendet eine schnelle Bestätigung, während die vollständige Analyse ausgeführt wird, und sendet dann die detaillierte Antwort.

So funktioniert es

In der folgenden Tabelle wird der Nachrichtenfluss zwischen Teams und Ihrem Agent beschrieben.

Schritt Was ist los
Sie senden eine Nachricht in Teams Teams liefert es POST /api/messages an Ihren Agenten
Agent empfängt Nachricht Das Bot Framework SDK authentifiziert und analysiert die Nachricht.
Threadzuordnung Agent ordnet die Microsoft Teams-Unterhaltung einem internen Thread zu.
Verarbeitung Dasselbe Begründungsmodul wie der Portalchat mit vollständigem Toolzugriff
Schnellantwort (nur für Kanäle) Kurze Bestätigungsmeldung, die gepostet wird, während die Analyse läuft
Vollständige Antwort Die Antwort des Agenten wird abgefragt und an Teams zurückgesendet.

Antworten werden nach der Verarbeitung schnell wieder an Ihre Teams-Unterhaltung gesendet. Derselbe Thread ist im Portal für vollständige Details zum Toolaufruf sichtbar.

Problembehandlung

Verwenden Sie die folgende Tabelle, um häufige Probleme mit der Teams-Bot-Einrichtung zu beheben.

Symptom Resolution
Bot antwortet nicht Überprüfen Sie, ob die Teams-Bot-Umgebungsvariablen für die Container-App festgelegt sind. Bestätigen Sie, dass die App-ID auf eine echte verwaltete Client-ID festgelegt ist.
503 vom Teams-Endpoint Der Bot ist nicht konfiguriert. Legen Sie die drei erforderlichen Umgebungsvariablen fest.
Authentifizierungsfehler Überprüfen Sie, ob die verwaltete Identitäts-Client-ID mit dem Bot-Dienst msaAppId übereinstimmt.
Bot in Teams nicht gefunden Vergewissern Sie sich, dass die App veröffentlicht wurde und der Benutzer über die Berechtigung zum Installieren von Apps verfügt.
Funktioniert im Portal, aber nicht in Teams Vergewissern Sie sich, dass der Bot-Dienst bereitgestellt wird und der Messaging-Endpunkt erreichbar ist.

Nächster Schritt