Udostępnij za pośrednictwem


Samouczek: konfigurowanie bota usługi Teams dla agenta usługi Azure SRE

W tym samouczku wdrożysz agenta usługi Azure SRE jako bota dla Microsoft Teams, aby twój zespół mógł rozmawiać z nim bezpośrednio w wiadomościach prywatnych lub przez @-wzmiankowanie go w kanałach.

Wskazówka

Co wykonasz w tym samouczku:

  • Twój agent jest wyświetlany jako bot w aplikacji Microsoft Teams.
  • Członkowie zespołu mogą wysłać wiadomość prywatną do bota na potrzeby prywatnych dochodzeń.
  • Członkowie zespołu mogą wspomnieć@ bota w kanałach, aby wspólnie rozwiązywać problemy.
  • Odpowiedzi są przesyłane z powrotem do Teams automatycznie.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz następujące zasoby i dostęp:

Wymaganie Szczegóły
Azure SRE Agent Wdrożony i uruchomiony agent
Subskrypcja platformy Azure Aby utworzyć zasób usługi Azure Bot Service
Tożsamość zarządzana przypisana użytkownikowi Tożsamość używana przez agenta (utworzona podczas wdrażania agenta)
Dostęp administratora usługi Teams Aby opublikować aplikację bota w Twojej organizacji

Przegląd

Skonfiguruj bota usługi Teams w trzech krokach:

  1. Wdrażanie usługi Azure Bot Service: rejestrowanie punktu końcowego agenta za pomocą platformy Bot Framework.
  2. Skompiluj pakiet aplikacji Teams: utwórz manifest wymagany przez aplikację Teams do zainstalowania bota.
  3. Opublikuj w aplikacji Teams: Udostępnij bota w organizacji.

Krok 1. Wdrażanie usługi Azure Bot Service

Usługa Azure Bot Service kieruje komunikaty między Teams a agentem. Baza kodu agenta zawiera szablon Bicep, który tworzy ten zasób.

Zbieranie wymaganych wartości

Przed wdrożeniem zbierz następujące wartości:

Wartość Gdzie go znaleźć Przykład
Identyfikator klienta aplikacji Bot Identyfikator klienta zarządzanej tożsamości Twojego agenta aaaaaaaa-0000-1111-...
Domena aplikacji bota Nazwa FQDN aplikacji kontenera agenta my-agent.eastus2.azuresre.ai
Nazwa wyświetlana bota Nazwa, którą bot ma wyświetlać w usłudze Teams SRE Agent
Typ aplikacji UserAssignedMsi dla tożsamości zarządzanej (zalecane) UserAssignedMsi
Identyfikator najemcy Identyfikator tenanta Microsoft Entra. aaaaaaaa-0000-1111-...

Wdrażanie przy użyciu interfejsu wiersza polecenia platformy Azure

Uruchom następujące polecenie, aby wdrożyć zasób usługi Bot Service.

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>

Szablon Bicep tworzy następujące zasoby:

  • Zasób usługi Azure Bot Service.
  • Połączenie kanału usługi Teams z tym botem.
  • Punkt końcowy obsługi komunikatów wskazujący na https://<AGENT_FQDN>/api/messages.

Konfigurowanie agenta

Agent potrzebuje trzech zmiennych środowiskowych, aby akceptować komunikaty usługi Teams. Ustaw te zmienne w aplikacji kontenera.

Variable Wartość Opis
Identyfikator aplikacji bota usługi Teams Identyfikator klienta Twojej tożsamości zarządzanej Identyfikuje bota w usłudze Bot Framework
Typ aplikacji Bot Teams UserAssignedMsi Metoda uwierzytelniania (zalecane jest użycie tożsamości zarządzanej)
Identyfikator dzierżawy bota usługi Teams Identyfikator tenanta Microsoft Entra. Zakresy uwierzytelniania w dzierżawie

Dokładne nazwy zmiennych środowiskowych są zgodne z konwencją powiązania konfiguracji ASP.NET dla wdrożenia. Bez tych zmiennych punkt końcowy usługi Teams zwraca wartość 503, a bot jest wyświetlany w trybie offline.

Wskazówka

Za pomocą polecenia UserAssignedMsinie potrzebujesz hasła ani wpisu tajnego. Uwierzytelnianie jest automatycznie obsługiwane przez tożsamość zarządzaną.

Krok 2. Kompilowanie pakietu aplikacji Teams

Pakiet aplikacji Teams to plik ZIP zawierający manifest i ikony. Baza kodu agenta zawiera szablon i skrypt kompilacji.

Tworzenie pliku środowiska

Utwórz plik .env z wartościami wdrożenia.

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>

Uwaga / Notatka

Wygeneruj nowy identyfikator GUID dla TEAMS_APP_ID, lub utwórz aplikację w portalu deweloperskim Teams i użyj jej identyfikatora.

Uruchamianie skryptu kompilacji

Uruchom skrypt kompilacji, aby wygenerować pakiet aplikacji.

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

Ten skrypt wykonuje następujące akcje:

  1. Podstawi twoje wartości do szablonu manifestu.
  2. Wdraża usługę Bot Service na platformie Azure.
  3. Tworzy appPackage.zip z manifestem i ikonami.

Wynikowy appPackage.zip jest gotowy do przesłania do Microsoft Teams.

Krok 3. Publikowanie w usłudze Teams

Przekaż pakiet aplikacji i sprawdź, czy bot jest dostępny w organizacji.

Prześlij pakiet aplikacji

Wykonaj następujące kroki, aby opublikować bota w organizacji.

  1. Otwórz Centrum administracyjne usługi Teams w admin.teams.microsoft.com.
  2. Przejdź do Aplikacje Teams>Zarządzaj aplikacjami.
  3. Wybierz Prześlij nową aplikację.
  4. Wybierz opcję appPackage.zip.
  5. Wybierz pozycję Publikuj , aby udostępnić aplikację w organizacji.

Zweryfikuj w Teams

Upewnij się, że bot jest dostępny i odpowiada.

  1. Otwórz Microsoft Teams.
  2. Wybierz pozycję Aplikacje na pasku bocznym.
  3. Wyszukaj nazwę bota (na przykład "Agent SRE").
  4. Wybierz pozycję Dodaj , aby go zainstalować.
  5. Rozpocznij czat, wpisując "Hello".

Agent odpowiada powitalną wiadomością, w której przedstawia siebie i swoje możliwości.

Przetestuj integrację

Po opublikowaniu przetestuj bota zarówno w komunikatach bezpośrednich, jak i w wzmiankach o kanale.

Test DM

Otwórz bezpośredni czat z botem:

You: Check the health of my resources

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

Test kanału

W kanale zespołu oznacz bota za pomocą "@":

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

Bot wysyła szybkie potwierdzenie podczas wykonywania pełnej analizy, a następnie publikuje szczegółową odpowiedź.

Jak to działa

W poniższej tabeli opisano przepływ komunikatów między usługą Teams a agentem.

Krok Co się stanie
Wysyłasz wiadomość w usłudze Teams Usługa Teams dostarcza go do POST /api/messages agenta
Agent odbiera komunikat Zestaw BOT Framework SDK uwierzytelnia i analizuje komunikat
Mapowanie wątków Agent przyporządkowuje konwersację Teams do wątku wewnętrznego
Processing Ten sam aparat rozumowania jak czat w portalu z pełnym dostępem do narzędzi
Szybka reakcja (dotyczy tylko kanałów) Krótkie potwierdzenie umieszczone podczas trwania analizy
Pełna odpowiedź Odpowiedź agenta jest pobierana i przekazywana do Teams

Odpowiedzi są dostarczane z powrotem do konwersacji usługi Teams wkrótce po przetworzeniu. Ten sam wątek jest widoczny w portalu, aby uzyskać pełne informacje dotyczące wywołania narzędzia.

Troubleshooting

Skorzystaj z poniższej tabeli, aby rozwiązać typowe problemy z konfiguracją bota usługi Teams.

Objaw Resolution
Bot nie odpowiada Sprawdź, czy zmienne środowiskowe bota usługi Teams są ustawione w aplikacji kontenera. Upewnij się, że identyfikator aplikacji jest ustawiony na rzeczywisty identyfikator klienta tożsamości zarządzanej.
503 z endpointu Teams Bot nie jest skonfigurowany. Ustaw trzy wymagane zmienne środowiskowe.
Błędy uwierzytelniania Sprawdź, czy identyfikator klienta tożsamości zarządzanej jest zgodny z identyfikatorem msaAppId usługi Bot Service.
Nie można odnaleźć bota w usłudze Teams Upewnij się, że aplikacja została opublikowana, a użytkownik ma uprawnienia do instalowania aplikacji.
Działa w portalu, ale nie w aplikacji Teams Upewnij się, że usługa Bot Service jest wdrożona, a punkt końcowy obsługi komunikatów jest osiągalny.

Następne kroki