Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pelajari cara membangun, meng-host, mendaftarkan, dan memublikasikan agen Agent 365 yang berjalan di AWS Elastic Beanstalk, menggunakan Agent 365 CLI. Microsoft Entra dan Graph menyediakan identitas, izin, dan blueprint agen, sementara AWS Elastic Beanstalk menyediakan runtime.
Jika Anda ingin mengarahkan agen ke kode Anda yang berada di balik titik akhir AWS, Anda hanya perlu mengikuti langkah berikut: Konfigurasikan untuk hosting non-azure. Kemudian, ikuti semua langkah lainnya dari Memulai pengembangan Agent 365.
Sasaran
Pelajari cara menggunakan Agent 365 dan Microsoft 365 sebagai sarana kontrol dan:
- Menyebarkan runtime agen di AWS Elastic Beanstalk
- Mengonfigurasi
a365.config.jsonuntuk hosting non-Azure - Buat Blueprint Agen di Entra ID
- Konfigurasikan OAuth2 + izin yang dapat diwariskan
- Daftarkan titik akhir olahpesan Bot Framework yang mengarah ke AWS
- Buat Identitas Agen dan Pengguna Agen
- (Opsional) Publikasikan ke area aplikasi Microsoft 365
- Menguji interaksi menyeluruh
Prasyarat
Sebelum memulai, pastikan prasyarat lingkungan Azure / Microsoft 365, AWS, dan lokal berikut terpenuhi.
Prasyarat Azure / Microsoft 365
Konfirmasikan akses penyewa Microsoft Entra Anda dan instal alat berikut untuk membuat identitas, blueprint, dan mendaftarkan agen Anda.
Penyewa Microsoft Entra dengan:
- Izin atau peran untuk membuat aplikasi dan blueprint agen (Administrator Global atau setara)
- Keanggotaan dalam program pratinjau Frontier untuk mendapatkan akses awal ke Microsoft Agent 365.
- Setidaknya satu lisensi Microsoft 365 tersedia untuk pengguna Agen
Azure CLI terinstal dan masuk.
Prasyarat Amazon Web Services (AWS)
Pastikan layanan dan alat AWS berikut telah disiapkan untuk menyebarkan dan mengelola lingkungan Elastic Beanstalk Anda.
- Akun AWS dengan izin yang sesuai
- Akses AWS Elastic Beanstalk diaktifkan
- AWS CLI terinstal dan dikonfigurasi
- Elastic Beanstalk CLI terinstal
Prasyarat lingkungan pengembangan lokal
Instal dan konfigurasikan alat berikut secara lokal untuk membangun, menjalankan, dan menyebarkan agen.
Editor Kode: Gunakan Visual Studio Code atau Visual Studio
.NET SDK: Gunakan .NET 8.0 SDK atau yang lebih baru
AWS Toolkit: Instal ekstensi ini dari Visual Studio atau Visual Studio Code. Masuk menggunakan kredensial Manajemen Identitas dan Akses (IAM) AWS.
Akses LLM API: Pilih layanan yang sesuai berdasarkan konfigurasi agen Anda atau penyedia model pilihan Anda:
- Kunci OpenAI API: Dapatkan kunci OpenAI API Anda
- Azure OpenAI: Buat dan sebarkan sumber daya Azure OpenAI untuk mendapatkan kunci API dan titik akhir Anda
Membuat dan menyebarkan agen .NET
Petunjuk berikut menjelaskan cara membuat agen minimal yang:
- Menanggapi GET
/ - Menerima aktivitas Bot Framework di POST
/api/messages
Membuat direktori proyek
mkdir aws-a365-agent
cd aws-a365-agent
Menginisialisasi proyek .NET
Untuk menyederhanakan pengalaman Anda, artikel ini menggunakan sampel yang sudah disiapkan. Kloning repositori Sampel Agent 365 dan buka sampel dotnet\semantic-kernel\sample-agent.
Agen Sampel Kernel Semantik - sampel C#/.NET mencakup:
- API Web ASP.NET Core minimal
- Handler pesan Bot Framework di
/api/messages -
Titik akhir pemeriksaan kesehatan di
/ - Integrasi Kernel Semantik untuk kapabilitas AI
Buka dotnet\semantic-kernel\sample-agent dan verifikasi bahwa proyek berhasil dibangun:
dotnet restore
dotnet build
Konfigurasikan model
Ikuti petunjuk di Langkah 2: Konfigurasi LLM untuk mengonfigurasi proyek menggunakan kunci Open API Anda.
Uji secara lokal (opsional)
Sebelum menyebarkan ke AWS, uji agen Anda secara lokal:
# Run the application dotnet runUji titik akhir di terminal lain:
# Test agent endpoint locally curl http://localhost:3978Tekan
Ctrl+Cuntuk menghentikan server lokal.
Bangun dan sebar
Pilih opsi yang Anda inginkan untuk membangun dan menyebarkan aplikasi sampel ini:
- Opsi A: Membangun dan menyebarkan dari Visual Studio
- Opsi B: Membangun dan menyebarkan ke AWS Elastic Beanstalk dengan CLI
Opsi A: Membangun dan menyebarkan dari Visual Studio
Gunakan AWS Toolkit untuk Visual Studio untuk menerbitkan aplikasi ke Elastic Beanstalk menggunakan wizard terpandu.
Pada Penjelajah Solusi, klik kanan proyek Anda.
Pilih Publikasikan ke AWS Elastic Beanstalk.
Ikuti Wizard Penyebaran Beanstalk:
- Pilih profil kredensial AWS Anda.
- Pilih Kawasan (misalnya,
us-east-1). - Pilih Platform (
.NET Core on Linux). - Mengonfigurasi pengaturan lingkungan.
Pilih Sebarkan.
Wizard membangun, mengemas, dan menyebarkan aplikasi Anda ke AWS.
Opsi B: Membangun dan menyebarkan ke AWS Elastic Beanstalk dengan CLI
Gunakan Elastic Beanstalk CLI untuk mengemas dan menyebarkan agen .NET ke lingkungan Amazon Linux 2 64 bit. Pastikan AWS CLI dan EB CLI telah dikonfigurasi. Aplikasi mengikat ke variabel lingkungan PORT yang ditetapkan oleh Beanstalk.
Bangun dan publikasikan aplikasi .NET Anda:
# Publish for Linux runtime (AWS Elastic Beanstalk uses Amazon Linux) dotnet publish -c Release -o ./publish --runtime linux-x64Buat Procfile dengan konten berikut.
web: dotnet ./SemanticKernelSampleAgent.dllInisialisasi Elastic Beanstalk untuk .NET. Anda diminta untuk memilih Wilayah dan Platform:
eb initPilih:
-
Platform:
64bit-amazon-linux-2023-v3.7.0-running-.net-8 -
Wilayah: Wilayah AWS pilihan Anda (misalnya:
us-east-1)
-
Platform:
Buat paket penyebaran dan sebarkan:
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployPerintah ini:
- Membuat aplikasi Elastic Beanstalk.
- Membuat lingkungan dengan load balancer.
- Menyebarkan aplikasi Anda.
- Menyediakan sumber daya AWS yang diperlukan.
Setelah selesai, dapatkan titik akhir Elastic Beanstalk Anda:
eb statusCatat titik akhir Anda. Hasilnya akan terlihat seperti ini:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comTitik akhir ini adalah
messagingEndpointyang digunakan oleh Agent 365 Dev Tools CLI.
Catatan
Untuk lingkungan produksi, konfigurasikan HTTPS dengan menambahkan sertifikat SSL/TLS di Elastic Beanstalk. Bot Framework memerlukan HTTPS untuk titik akhir produksi.
Konfigurasi hosting non-Azure
Buat a365.config.json secara manual di folder proyek Elastic Beanstalk Anda:
Penting
Untuk hosting non-Azure, atur nilai messagingEndpoint ke URL Elastic Beanstalk Anda dengan jalur /api/messages.
File a365.config.json seharusnya akan terlihat seperti ini:
{
"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"
}
Tabel berikut merangkum bidang konfigurasi penting dan tujuannya.
| Bidang | Makna |
|---|---|
messagingEndpoint |
URL Elastic Beanstalk Anda + /api/messages |
deploymentProjectPath |
Tempat terjadinya proses stamping .env |
Buat agen Agent 365
Setelah kode agen Anda berjalan pada titik akhir AWS, ikuti langkah-langkah berikut dari Memulai pengembangan Agent 365 untuk menyiapkan agen Agent 365 Anda.
Verifikasi agen secara menyeluruh
Gunakan pemeriksaan berikut untuk memastikan agen yang di-host di AWS dapat dijangkau, menerima aktivitas Bot Framework, dan merespons dengan benar di seluruh permukaan Agent 365.
Verifikasi konektivitas Elastic Beanstalk
Kirim permintaan GET ke titik akhir Elastic Beanstalk Anda.
curl http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/
Permintaan harus mengembalikan pesan ini:
AWS Agent is running.
Periksa log Elastic Beanstalk untuk pesan Bot Framework yang masuk
Gunakan pengelogan Elastic Beanstalk untuk memastikan agen Anda menerima aktivitas Bot Framework dan merespons dengan tepat.
eb logs
Atau lakukan streaming log secara real-time:
eb logs --stream
Ketika pesan diterima oleh agen Anda, Anda akan melihat:
POST 200 /api/messages
Received activity: { ... }
Agen uji dari permukaan Agent 365
Tergantung pada lingkungan, Anda dapat menguji agen Anda dari berbagai permukaan:
- Agents Playground
- Teams (jika dipublikasikan)
- Agent Shell
- Permukaan federasi
Anda dapat mengirim pesan dan memverifikasi log Elastic Beanstalk Anda. Pelajari cara menguji agen menggunakan Microsoft Agent 365 SDK dan memvalidasi fungsionalitas agen Anda dengan alat pengujian Agents Playground.
Alur kerja pengembang
Setelah penyiapan selesai, ikuti alur kerja ini untuk pengembangan berulang:
Kembangkan dan uji secara lokal
Gunakan mode tonton untuk pengembangan cepat dengan pemuatan ulang otomatis:
# Automatically rebuild and restart on file changes
dotnet watch run
Lakukan perubahan pada kode Anda, simpan, dan uji secara lokal sebelum melakukan penyebaran.
Membangun dan menyebarkan ulang ke AWS Elastic Beanstalk
Saat siap untuk menyebarkan perubahan Anda:
# 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
Menguji dan memantau
Uji menggunakan permukaan Agent 365 dan pantau log Elastic Beanstalk:
# Stream logs in real-time
eb logs --stream
Anda tidak perlu membuat ulang identitas, blueprint, titik akhir bot, atau izin.
Pemecahan masalah
Gunakan bagian ini untuk mendiagnosis dan menyelesaikan masalah umum saat menyebarkan dan menjalankan agen Agent 365 di AWS Elastic Beanstalk. Ini mencakup konektivitas dan pemeriksaan kesehatan. Juga membahas masalah pengikatan port, kesalahan build, dan masalah lisensi.
Kiat
Panduan Pemecahan Masalah Agent 365 berisi rekomendasi pemecahan masalah tingkat tinggi, praktik terbaik, dan tautan ke konten pemecahan masalah untuk setiap bagian dari siklus hidup pengembangan Agent 365.
Titik akhir olahpesan tidak menerima permintaan
Periksa rincian berikut:
- Titik akhir Anda tepatnya:
http://<your-app>.elasticbeanstalk.com/api/messages - Lingkungan Elastic Beanstalk Anda sehat. Gunakan pemeriksaan menggunakan
eb health. - Grup keamanan Anda mengizinkan trafik HTTP atau HTTPS masuk.
- Tidak ada aturan firewall atau batasan VPC.
Masalah kesehatan aplikasi
Periksa kesehatan lingkungan:
eb health --refresh
Lihat detail log:
eb logs
Masalah ikatan port
Pastikan aplikasi Anda berjalan pada port yang ditentukan oleh variabel lingkungan PORT. Nilai ini ditetapkan secara otomatis oleh Elastic Beanstalk.
Masalah build atau runtime .NET
Periksa kesalahan build menggunakan perintah berikut:
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
Verifikasi versi .NET:
dotnet --version
dotnet --list-sdks
Periksa masalah paket:
# List installed packages
dotnet list package
# Update packages
dotnet restore --force
Penetapan lisensi gagal
Tetapkan lisensi Microsoft 365 yang valid secara manual, atau gunakan jalur pengguna tanpa lisensi jika didukung.