Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się, jak zbudować, hostować, zarejestrować i opublikować agenta Agent 365, który działa na AWS Elastic Beanstalk, przy użyciu Agent 365 CLI. Microsoft Entra i Graph dostarczają tożsamość agenta, uprawnienia oraz blueprint, natomiast AWS Elastic Beanstalk zapewnia środowisko uruchomieniowe.
Jeśli chcesz skierować swojego agenta na kod znajdujący się za punktem końcowym AWS, potrzebujesz tylko następującego kroku: Skonfiguruj hosting nie-Azure. Następnie wykonaj wszystkie pozostałe kroki z Rozpocznij rozwój Agent 365.
Cele
Dowiedz się, jak używać Agent 365 i Microsoft 365 jako warstwy kontrolnej oraz:
- Wdrożenie środowiska uruchomieniowego agenta na AWS Elastic Beanstalk
- Skonfiguruj
a365.config.jsondla hostingu poza Azure - Utwórz Agent Blueprint w Entra ID
- Skonfiguruj OAuth2 oraz dziedziczne uprawnienia
- Zarejestruj punkt końcowy komunikacji Bot Framework kierujący na AWS
- Utwórz tożsamość agenta i użytkownika agenta
- (Opcjonalnie) Opublikuj w obszarach aplikacji Microsoft 365
- Testowanie interakcji od początku do końca
Wymagania wstępne
Zanim rozpoczniesz, upewnij się, że spełnione są następujące wymagania wstępne dotyczące Azure / Microsoft 365, AWS oraz środowiska lokalnego.
Wymagania wstępne dotyczące platformy Azure / Microsoft 365
Potwierdź dostęp do swojego najemcy Microsoft Entra i zainstaluj następujące narzędzia do tworzenia tożsamości, szablonów oraz rejestracji agenta.
Domena Microsoft Entra zawierająca:
- Uprawnienia lub rola do tworzenia aplikacji i szablonów agentów (Global Administrator lub równoważny)
- Członkostwo w programie Frontier preview pozwala uzyskać wczesny dostęp do Microsoft Agent 365.
- Co najmniej jedna licencja Microsoft 365 dostępna dla użytkownika Agent 365
Amazon Web Services (AWS) – wymagania wstępne
Upewnij się, że następujące usługi i narzędzia AWS są skonfigurowane do wdrażania i zarządzania środowiskiem Elastic Beanstalk.
- Konto AWS z wymaganymi uprawnieniami
- Włączono dostęp do usługi AWS Elastic Beanstalk
- AWS CLI zainstalowany i skonfigurowany
- Zainstalowany Elastic Beanstalk CLI
Wymagania wstępne dotyczące środowiska lokalnego
Zainstaluj i skonfiguruj następujące narzędzia w środowisku lokalnym, aby zbudować, uruchomić i wdrożyć agenta.
Edytor kodu: użyj Visual Studio Code lub Visual Studio
.NET SDK: Użyj .NET 8.0 SDK lub nowszego
AWS Toolkit: Zainstaluj to rozszerzenie z poziomu Visual Studio lub Visual Studio Code. Zaloguj się, używając swoich danych uwierzytelniających AWS Identity and Access Management (IAM).
Dostęp do interfejsu API LLM: wybierz odpowiednią usługę na podstawie konfiguracji agenta lub preferowanego dostawcy modelu:
- Klucz API OpenAI: Pobierz swój klucz API OpenAI
- Azure OpenAI: Stwórz i wdroż zasób Azure OpenAI, aby uzyskać klucz API oraz punkt końcowy
Tworzenie i wdrażanie agenta .NET
Poniższe instrukcje opisują, jak stworzyć minimalnego agenta, który:
- Odpowiada na GET
/ - Obsługuje działania Bot Framework na POST
/api/messages
Utwórz katalog projektu
mkdir aws-a365-agent
cd aws-a365-agent
Zainicjalizuj projekt .NET
Aby usprawnić pracę, w tym artykule wykorzystano już przygotowany przykład. Sklonuj repozytorium Agent365 Samples i przejdź do dotnet\semantic-kernel\sample-agent.
Przykładowy agent Semantic Kernel – C#/.NET zawiera:
- Minimalne API internetowe w ASP.NET Core
- Handler wiadomości Bot Framework pod
/api/messages -
Punkt końcowy kontroli zdrowotnej pod
/ - Integracja Semantic Kernel dla obsługi AI
Przejdź do dotnet\semantic-kernel\sample-agent i sprawdź, czy projekt buduje się pomyślnie:
dotnet restore
dotnet build
Skonfiguruj model
Postępuj zgodnie z instrukcjami zawartymi w Krok 2: Konfiguracja LLM, aby skonfigurować projekt przy użyciu swojego klucza Open API.
Test lokalny (opcjonalnie)
Przed wdrożeniem na AWS przetestuj swojego agenta lokalnie:
# Run the application dotnet runPrzetestuj punkty końcowe w innym terminalu:
# Test agent endpoint locally curl http://localhost:3978Naciśnij klawisz
Ctrl+C, aby zatrzymać lokalny serwer.
Kompiluj i wdróż
Wybierz preferowaną opcję do zbudowania i wdrożenia tej przykładowej aplikacji:
- Opcja A: Kompilacja i wdrożenie z poziomu programu Visual Studio
- Opcja B: Buduj i wdrażaj na AWS Elastic Beanstalk za pomocą CLI
Opcja A: Kompilacja i wdrożenie z poziomu programu Visual Studio
Użyj AWS Toolkit for Visual Studio, aby opublikować aplikację do Elastic Beanstalk, korzystając z kreatora.
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy swój projekt.
Wybierz „Opublikuj do AWS Elastic Beanstalk”.
Postępuj zgodnie z instrukcjami Kreatora wdrażania Beanstalk:
- Wybierz profil poświadczeń AWS.
- Wybierz region (na przykład
us-east-1). - Wybierz platformę (
.NET Core on Linux). - Konfigurowanie ustawień środowiska.
Wybierz Wdróż.
Kreator buduje, pakuje i wdraża aplikację na AWS.
Opcja B: Buduj i wdrażaj na AWS Elastic Beanstalk za pomocą CLI
Użyj Elastic Beanstalk CLI, aby zapakować i wdrożyć agenta .NET na 64-bitowe środowisko Amazon Linux 2. Upewnij się, że AWS CLI i EB CLI są skonfigurowane. Aplikacja korzysta ze zmiennej środowiskowej PORT ustawionej przez Beanstalk.
Skompiluj i opublikuj swoją aplikację .NET:
# Publish for Linux runtime (AWS Elastic Beanstalk uses Amazon Linux) dotnet publish -c Release -o ./publish --runtime linux-x64Utwórz plik Procfile z następującą zawartością.
web: dotnet ./SemanticKernelSampleAgent.dllZainicjuj Elastic Beanstalk dla .NET. Pojawi się monit z prośbą o wybór regionu i platformy:
eb initWybierz pozycję:
-
Platforma:
64bit-amazon-linux-2023-v3.7.0-running-.net-8 -
Region: Twój preferowany region AWS (np.:
us-east-1)
-
Platforma:
Utwórz pakiet wdrożeniowy i przeprowadź wdrożenie:
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployTo polecenie:
- Tworzy aplikację Elastic Beanstalk.
- Tworzy środowisko z load balancerem.
- Wdraża Twoją aplikację.
- Zapewnia niezbędne zasoby AWS.
Po zakończeniu uzyskaj swój punkt końcowy Elastic Beanstalk:
eb statusZanotuj swój punkt końcowy. Powinna to wyglądać następująco:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comTo jest punkt końcowy
messagingEndpoint, który jest używany przez Agent 365 Dev Tools CLI.
Notatka
W środowiskach produkcyjnych skonfiguruj HTTPS, dodając certyfikat SSL/TLS w Elastic Beanstalk. Bot Framework wymaga HTTPS dla punktów końcowych w środowisku produkcyjnym.
Konfiguracja dla hostingu poza Azure
Utwórz a365.config.json ręcznie w folderze projektu Elastic Beanstalk:
Ważne
W przypadku hostingu poza Azure ustaw wartość messagingEndpoint na adres URL Elastic Beanstalk ze ścieżką /api/messages.
Plik a365.config.json powinien wyglądać podobnie do następujących:
{
"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"
}
Poniższa tabela podsumowuje ważne pola konfiguracyjne i ich przeznaczenie.
| Pole | Znaczenie |
|---|---|
messagingEndpoint |
Twój link URL Elastic Beanstalk + /api/messages |
deploymentProjectPath |
Miejsce, gdzie następuje .env stemplowanie |
Budowanie agenta Agent 365
Po uruchomieniu kodu agenta na punkcie końcowym AWS, postępuj zgodnie z pozostałymi krokami z Rozpocznij pracę z Agent 365, aby skonfigurować agenta Agent 365.
Sprawdź działanie agenta od początku do końca
Użyj tych kontroli, aby potwierdzić, że Twój agent hostowany na AWS jest osiągalny, odbiera aktywności Bot Framework i poprawnie odpowiada na różnych platformach Agent 365.
Sprawdź łączność Elastic Beanstalk
Wyślij żądanie GET do swojego endpointu Elastic Beanstalk.
curl http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/
Żądanie powinno zwrócić następujący komunikat:
AWS Agent is running.
Sprawdź logi Elastic Beanstalk pod kątem przychodzących aktywności Bot Framework
Użyj logów Elastic Beanstalk, aby zweryfikować, czy Twój agent odbiera aktywności Bot Framework i odpowiada poprawnie.
eb logs
Lub monitoruj logi w czasie rzeczywistym:
eb logs --stream
Gdy agent otrzyma wiadomość, zobaczysz:
POST 200 /api/messages
Received activity: { ... }
Agent testowy z powierzchni Agent 365
W zależności od środowiska możesz testować swojego agenta na różnych platformach:
- Środowisko testowe agentów
- Teams (jeśli zostały opublikowane)
- Agent Shell
- Powierzchnie federowane
Możesz wysyłać wiadomości i weryfikować swoje logi Elastic Beanstalk. Dowiedz się, jak testować agentów za pomocą Microsoft Agent 365 SDK oraz jak weryfikować funkcjonalność swojego agenta przy użyciu narzędzia Agents Playground.
Przebieg pracy dewelopera
Po zakończeniu konfiguracji postępuj zgodnie z tym przepływem pracy dla iteracyjnego rozwoju:
Rozwijaj i testuj lokalnie
Użyj watch mode do szybkiego tworzenia z automatycznym przeładowaniem:
# Automatically rebuild and restart on file changes
dotnet watch run
Wprowadź zmiany w kodzie, zapisz i testuj lokalnie przed wdrożeniem.
Zbuduj i ponownie wdroż na AWS Elastic Beanstalk
Gdy jesteś gotowy do wdrożenia zmian:
# 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
Testowanie i monitorowanie
Testuj za pomocą powierzchni Agent 365 i monitoruj logi Elastic Beanstalk:
# Stream logs in real-time
eb logs --stream
Nie musisz ponownie tworzyć swojej tożsamości, blueprintu, punktu końcowego bota ani uprawnień.
Rozwiązywanie problemów
Użyj tej sekcji, aby zdiagnozować i rozwiązać typowe problemy podczas wdrażania i uruchamiania agenta Agent 365 na AWS Elastic Beanstalk. Obejmuje łączność i kontrole zdrowotne. Rozwiązuje także wiązania portów, błędy kompilacji oraz problemy licencyjne.
Wskazówka
Przewodnik po rozwiązywaniu problemów Agent 365 zawiera wysokopoziomowe zalecenia dotyczące rozwiązywania problemów, najlepsze praktyki oraz odnośniki do treści dotyczących rozwiązywania problemów dla każdego etapu cyklu rozwoju Agent 365.
Punkt końcowy wiadomości nie otrzymuje żądań
Sprawdź poniższe informacje:
- Adres punktu końcowego to dokładnie:
http://<your-app>.elasticbeanstalk.com/api/messages - Twoje środowisko Elastic Beanstalk jest zdrowe. Użyj sprawdzania, używając
eb health. - Grupa bezpieczeństwa pozwala na ruch przychodzący HTTP lub HTTPS.
- Nie ma reguł zapory ani ograniczeń VPC.
Problemy ze zdrowiem aplikacji
Sprawdź zdrowie środowiska:
eb health --refresh
Wyświetl szczegółowe dzienniki:
eb logs
Problemy z bindowaniem portów
Upewnij się, że aplikacja nasłuchuje na porcie określonym przez zmienną środowiskową PORT. Elastic Beanstalk ustawia tę wartość automatycznie.
Problemy z kompilacją lub uruchomieniem .NET
Sprawdź błędy kompilacji, używając następujących poleceń:
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
Sprawdź wersję .NET:
dotnet --version
dotnet --list-sdks
Sprawdź problemy z pakietami:
# List installed packages
dotnet list package
# Update packages
dotnet restore --force
Przypisanie licencji kończy się niepowodzeniem
Ręcznie przypisz prawidłową licencję Microsoft 365 lub użyj ścieżki dla użytkownika bez licencji, jeśli jest to obsługiwane.