Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
AWS Elastic Beanstalk üzerinde çalışan bir Agent 365 aracısını Agent 365 CLI kullanarak nasıl oluşturacağınızı, barındıracağınızı, kaydedeceğinizi ve yayımlayacağınızı öğrenin. Microsoft Entra ve Graph, aracı kimliği, izinler ve blueprint'i sağlarken, AWS Elastic Beanstalk çalışma zamanını sağlar.
Aracınızı AWS uç noktasının arkasında bulunan kodunuza yönlendirmek istiyorsanız, yalnızca şu adımı uygulamanız yeterlidir: Azure dışı barındırma için yapılandırma. Ardından, Agent 365 geliştirmeye başlama bölümündeki tüm diğer adımları takip edin.
Hedefler
Agent 365 ve Microsoft 365'i kontrol düzlemi olarak kullanmayı öğrenin ve:
- Aracı çalışma zamanını AWS Elastic Beanstalk üzerinde dağıtın
- Azure dışı barındırma için
a365.config.jsonyapılandırın - Entra ID'de Aracı Taslağı oluşturun
- OAuth2 + kalıtılabilir izinleri yapılandır
- AWS'ye yönlendirilmiş Bot Framework mesajlaşma uç noktasını kaydet
- Aracı Kimliği + Aracı Kullanıcısı Oluştur
- (İsteğe bağlı) Microsoft 365 uygulama yüzeylerine yayınla
- Uçtan uca etkileşimleri test edin
Ön koşullar
Başlamadan önce, aşağıdaki Azure / Microsoft 365, AWS ve yerel ortam önkoşullarının karşılandığından emin olun.
Azure / Microsoft 365 ön koşulları
Microsoft Entra kiracınıza erişiminizi doğrulayın ve kimlikler, şablonlar oluşturmak ve aracınızı kaydetmek için aşağıdaki araçları yükleyin.
Aşağıdaki özelliklere sahip bir Microsoft Entra kiracısı:
- Uygulamalar ve aracı blueprint'leri oluşturmak için gerekli izin veya rol (Global Yönetici veya benzeri)
- Microsoft Agent 365'e erken erişim için Frontier önizleme programına üyelik.
- Aracı kullanıcısı için en az bir Microsoft 365 lisansı bulunmalıdır
Amazon Web Services (AWS) ön koşulları
Aşağıdaki AWS hizmetleri ve araçlarının Elastic Beanstalk ortamınızı dağıtmak ve yönetmek için kurulduğundan emin olun.
- AWS hesabı uygun izinlere sahip
- AWS Elastic Beanstalk erişimi etkinleştirildi
- AWS CLI kuruldu ve yapılandırıldı
- Elastic Beanstalk CLI kurulu
Yerel geliştirme ortamı için ön koşullar
Aracıyı oluşturmak, çalıştırmak ve dağıtmak için aşağıdaki araçları yerel olarak kurun ve yapılandırın.
Kod Düzenleyicisi: Visual Studio Code veya Visual Studio kullanın
AWS Toolkit: Bu uzantıyı Visual Studio veya Visual Studio Code'dan yükleyin. AWS Kimlik ve Erişim Yönetimi (IAM) kimlik bilgilerinizi kullanarak giriş yapın.
LLM API erişimi: Aracınızın yapılandırmasına veya tercih ettiğiniz model sağlayıcıya göre uygun hizmeti seçin:
- OpenAI API Anahtarı: OpenAI API anahtarınızı alın
- Azure OpenAI: API anahtarınızı ve uç noktanızı almak için bir Azure OpenAI kaynağı oluşturun ve dağıtın
.NET aracısı oluşturun ve dağıtın
Aşağıdaki talimatlar, minimum bir aracı nasıl oluşturulacağını açıklar:
- GET'e yanıt verir
/ - POST isteği ile Bot Framework etkinliklerini kabul eder
/api/messages
Proje dizini oluştur
mkdir aws-a365-agent
cd aws-a365-agent
.NET projesini başlat
Deneyiminizi kolaylaştırmak için, bu makale önceden hazırlanmış bir örnek proje kullanmaktadır. Agent365 Samples deposunu klonlayın, DotNet\semantic-kernel\sample-agent örneğine gidin.
Semantik Çekirdek Örnek Aracıı - C#/.NET örneği şunları içerir:
- Minimal bir ASP.NET Core Web API
- Bot Framework mesaj işleyicisi adresinde
/api/messages -
Sağlık kontrolü uç noktası şu adreste:
/ - Yapay Zeka yetenekleri için Semantik Çekirdek entegrasyonu
dotnet\semantic-kernel\sample-agent adresine gidin ve projenin başarıyla derlendiğini doğrulayın:
dotnet restore
dotnet build
Modeli yapılandırın
Adım 2: LLM yapılandırması bölümündeki yönergeleri izleyerek projeyi Open API anahtarınızı kullanarak yapılandırın.
Yerelde test et (isteğe bağlı)
AWS’ye dağıtmadan önce, aracınızı yerel olarak test edin:
# Run the application dotnet runUç noktaları başka bir terminalde test edin:
# Test agent endpoint locally curl http://localhost:3978Yerel sunucuyu durdurmak için
Ctrl+Ctuşuna basın.
Derleme ve dağıtma
Bu örnek uygulamayı derleyip dağıtmak için tercih ettiğiniz seçeneği seçin:
- Seçenek A: Visual Studio'dan inşa et ve dağıt
- Seçenek B: CLI ile AWS Elastic Beanstalk'a derle ve dağıt
Seçenek A: Visual Studio'dan inşa et ve dağıt
Visual Studio için AWS Toolkit'i kullanarak uygulamayı rehberli bir sihirbaz kullanarak Elastic Beanstalk'a yayınlayın.
Çözüm Gezgini'nde projenize sağ tıklayın.
AWS Elastic Beanstalk'a Yayınla'yı seçin.
Beanstalk Dağıtım Sihirbazı'nı izleyin:
- AWS kimlik bilgileri profilinizi seçin.
- Bölge Seçin (örneğin,
us-east-1). - Platform'u (
.NET Core on Linux) seçin. - Ortam ayarlarını yapılandırın.
Dağıt'ı seçin.
Sihirbaz uygulamanızı AWS'ye derler, paketler ve dağıtır.
Seçenek B: CLI ile AWS Elastic Beanstalk'a derle ve dağıt
Elastic Beanstalk CLI'yı kullanarak .NET aracısını 64 bit Amazon Linux 2 ortamına paketleyip dağıtın. AWS CLI ve EB CLI'nin kurulup yapılandırıldığından emin olun. Uygulama, Beanstalk tarafından belirlenen PORT ortam değişkenine bağlanır.
.NET uygulamanızı oluşturun ve yayınlayın:
# Publish for Linux runtime (AWS Elastic Beanstalk uses Amazon Linux) dotnet publish -c Release -o ./publish --runtime linux-x64Aşağıdaki içerikle Procfile oluşturun.
web: dotnet ./SemanticKernelSampleAgent.dllElastic Beanstalk'ı .NET için başlatın. Bölge ve Platform seçmeniz isteniyor:
eb initSeçin:
-
Platform:
64bit-amazon-linux-2023-v3.7.0-running-.net-8 -
Bölge: Tercih ettiğiniz AWS bölgesi (örneğin:
us-east-1)
-
Platform:
Bir dağıtım paketi oluşturun ve dağıtın:
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployBu komut:
- Bir Elastic Beanstalk uygulaması oluşturur.
- Yük dengeleyici ile bir ortam oluşturur.
- Uygulamanızı dağıtır.
- Gerekli AWS kaynaklarını sağlar.
Kurulum tamamlandığında, Elastic Beanstalk uç noktasını edinin:
eb statusUç noktanızı not edin. Şuna benzer şekilde görünecektir:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comBu uç nokta, Agent 365 Geliştirici Araçları CLI tarafından kullanılan
messagingEndpointuç noktasıdır.
Not
Üretim ortamları için, Elastic Beanstalk'ta SSL/TLS sertifikası ekleyerek HTTPS'yi yapılandırın. Bot Framework, üretim uç noktaları için HTTPS gerektirir.
Azure dışı barındırma için yapılandırın
Elastic Beanstalk proje klasörünüzde a365.config.json dosyasını manuel olarak oluşturun.
Önemli
Azure dışı barındırma için, messagingEndpoint değerini /api/messages yolu ile Elastic Beanstalk URL'nize ayarlayın.
a365.config.json dosyası şöyle görünmelidir:
{
"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"
}
Aşağıdaki tablo, önemli yapılandırma alanlarını ve amaçlarını özetlemektedir.
| Alan | Anlamı |
|---|---|
messagingEndpoint |
Elastic Beanstalk URL'niz + /api/messages |
deploymentProjectPath |
.env damgalama işleminin gerçekleştiği yer |
Agent 365 aracısı oluştur
Aracı kodunuz bir AWS uç noktasında çalıştıktan sonra, Agent 365 geliştirme ile başlama rehberindeki kalan adımları takip ederek Agent 365 aracınızı kurun.
Aracının uçtan uca doğrulanmasını sağlayın
AWS üzerinde barındırılan Agent 365 aracınızın ulaşılabilir olduğunu, Bot Framework etkinliklerini aldığını ve Agent 365 yüzeylerinde doğru şekilde yanıt verdiğini doğrulamak için bu denetimleri kullanın.
Elastic Beanstalk bağlantısını doğrulayın
Elastic Beanstalk endpoint'inize bir GET isteği gönderin.
curl http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/
İstek şu mesajı döndürmelidir:
AWS Agent is running.
Gelen Bot Framework mesajları için Elastic Beanstalk loglarını kontrol edin.
Elastic Beanstalk loglarını kullanarak, aracınızın Bot Framework etkinliklerini alıp doğru şekilde yanıt verdiğini doğrulayın.
eb logs
Ya da günlük kayıtlarını gerçek zamanlı olarak izleyebilirsiniz:
eb logs --stream
Bir mesaj aracınıza ulaştığında şunları göreceksiniz:
POST 200 /api/messages
Received activity: { ... }
Agent 365 yüzeylerinden test aracısı
Ortamınıza bağlı olarak, aracınızı farklı platformlardan test edebilirsiniz:
- Aracı Deneme Alanı
- Teams (yayınlanırsa)
- Aracı Kabuğu
- Federasyonlu yüzeyler
Mesaj gönderebilir ve Elastic Beanstalk kayıtlarınızı kontrol edebilirsiniz. Microsoft Agent 365 SDK'yi kullanarak aracıları nasıl test edeceğinizi ve Aracılar Playground test aracıyla aracınızın işlevselliğini nasıl doğrulayacağınızı öğrenin.
Geliştirici iş akışı
Kurulum tamamlandıktan sonra, yinelemeli geliştirme için bu iş akışını izleyin:
Yerel olarak geliştirin ve test edin
watch mode'u otomatik yeniden yükleme ile hızlı geliştirme için kullanın:
# Automatically rebuild and restart on file changes
dotnet watch run
Kod değişikliklerinizi yapın, kaydedin ve dağıtmadan önce yerel olarak test edin.
Derleyin ve AWS Elastic Beanstalk'a yeniden dağıtın
Değişiklikleri dağıtmaya hazır olduğunuzda:
# 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
Test etme ve izleme
Agent 365 yüzeylerini kullanarak test edin ve Elastic Beanstalk loglarını izleyin:
# Stream logs in real-time
eb logs --stream
Kimliğinizi, blueprint'i, bot uç noktanızı veya izinlerinizi yeniden oluşturmanıza gerek yok.
Sorun giderme
Bu bölümü, AWS Elastic Beanstalk üzerinde bir Agent 365 aracıı dağıtıp çalıştırırken sık karşılaşılan sorunları teşhis etmek ve çözmek için kullanın. Bağlantı ve sağlık kontrollerini kapsar. Ayrıca port bağlama, derleme hataları ve lisanslama sorunlarını da kapsar.
İpucu
Agent 365 Sorun Giderme Kılavuzu yüksek seviyeli sorun giderme önerileri, en iyi uygulamalar ve Agent 365 geliştirme yaşam döngüsünün her aşamasına yönelik sorun giderme içeriğine bağlantılar sunar.
Mesajlaşma uç noktası istekleri almıyor
Lütfen aşağıdaki ayrıntıları inceleyin:
- Uç noktanız tam olarak şudur:
http://<your-app>.elasticbeanstalk.com/api/messages - Elastic Beanstalk ortamınız sağlıklı.
eb healthkullanarak kontrolü gerçekleştirin. - Güvenlik grubunuz giriş HTTP veya HTTPS trafiğine izin verir.
- Güvenlik duvarı kuralları veya VPC kısıtlamaları bulunmamaktadır.
Uygulama sağlığı sorunları
Ortam sağlığı kontrolü:
eb health --refresh
Ayrıntılı kayıtları görüntüle:
eb logs
Port bağlama sorunları
Uygulamanızın PORT ortam değişkeniyle belirtilen bağlantı noktasında dinlediğinden emin olun. Elastic Beanstalk bu değeri otomatik olarak ayarlıyor.
.NET derleme veya çalışma zamanı sorunları
Bu komutları kullanarak derleme hatalarını kontrol edin:
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
.NET sürümünü doğrulayın:
dotnet --version
dotnet --list-sdks
Paket sorunlarını kontrol edin:
# List installed packages
dotnet list package
# Update packages
dotnet restore --force
Lisans ataması başarısız olur
Geçerli bir Microsoft 365 lisansını manuel olarak atayın veya destekleniyorsa lisanssız bir kullanıcı yolunu kullanın.