Menerbitkan pekerjaan ke Azure
BERLAKU UNTUK: SDK v4
Artikel ini menunjukkan cara menyebarkan bot dasar ke Azure. Ini menjelaskan cara membuat sumber daya untuk bot Anda, menyiapkan bot Anda untuk penyebaran, menyebarkan bot Anda ke Azure, dan menguji bot Anda di Web Chat.
Artikel ini mengasumsikan bahwa Anda memiliki bot yang siap disebarkan. Untuk informasi tentang cara membuat bot gema sederhana, lihat Membuat bot dengan Bot Framework SDK. Anda juga dapat menggunakan salah satu sampel yang disediakan di repositori Sampel Kerangka Kerja Bot .
Prasyarat
Untuk menggunakan Azure CLI untuk memprovisikan dan menerbitkan bot, Anda perlu:
Akun Azure yang memiliki langganan aktif. Buat akun gratis.
-
Untuk bahasa pemrograman Anda, gunakan versi Azure CLI berikut. Beberapa langkah tidak akan berfungsi dengan versi CLI yang lebih baru.
Bahasa Versi CLI C#, JavaScript, dan Python 2.36.0 Java 2.29.2
Dimulai dengan Bot Framework SDK 4.14.1.2, saat Anda membuat bot dari templat VSIX atau Yeoman, proyek yang dihasilkan berisi templat ARM. Sampel dan bot baru yang dibuat dari templat Bot Framework berisi direktori templat penyebaran yang berisi templat ARM. Anda akan menggunakan templat ARM untuk menyediakan banyak sumber daya bot Anda.
Untuk bot Java, instal Maven.
Masuk ke Azure dan pilih langganan
Buka jendela perintah.
Masuk ke Azure.
az loginJendela browser akan terbuka. Selesaikan proses masuk. Jika berhasil, perintah menghasilkan daftar langganan yang dapat diakses akun Anda.
Untuk mengatur langganan yang akan digunakan, jalankan:
az account set --subscription "<subscription>"Untuk <langganan>, gunakan ID atau nama langganan untuk digunakan.
Jika Anda akan membuat identitas terkelola yang ditetapkan pengguna atau bot penyewa tunggal, rekam
tenantIduntuk langganan. Anda akan menggunakan ID penyewa dalam langkah-langkah berikut.
Tip
Jika Anda perlu bekerja di cloud non-publik, lihat Manajemen cloud Azure dengan Azure CLI.
Membuat sumber daya identitas
Identitas bot Anda dapat dikelola di Azure dengan beberapa cara berbeda.
- Sebagai identitas terkelola yang ditetapkan pengguna, sehingga Anda tidak perlu mengelola kredensial bot sendiri.
- Sebagai aplikasi penyewa tunggal .
- Sebagai aplikasi multi-penyewa .
Dukungan untuk identitas terkelola yang ditetapkan pengguna dan jenis aplikasi penyewa tunggal ditambahkan untuk C# dan JavaScript ke Bot Framework SDK di versi 4.15.0. Jenis aplikasi ini tidak didukung dalam bahasa lain atau di Bot Framework Composer, Bot Framework Emulator, atau ngrok.
| Jenis aplikasi | Dukungan |
|---|---|
| Identitas Terkelola yang Ditetapkan Pengguna | Azure Bot Service dan SDK C# dan JavaScript |
| Penyewa tunggal | Azure Bot Service dan SDK C# dan JavaScript |
| Multi-penyewa | Azure Bot Service, semua bahasa Bot Framework SDK, Composer, Emulator, dan ngrok |
Untuk membuat pendaftaran aplikasi Azure:
Tip
Anda memerlukan grup sumber daya yang sudah ada untuk membuat identitas terkelola.
Jika Anda belum memiliki grup sumber daya yang sesuai, gunakan
az group createperintah untuk membuat grup sumber daya baru.az group create --name "<group>" --location "<region>"Opsi Deskripsi nama Nama grup sumber daya yang akan dibuat. lokasi Wilayah tempat membuat grup sumber daya. Untuk informasi selengkapnya, lihat Cara mengelola grup sumber daya Azure dengan Azure CLI.
Untuk membuat identitas terkelola yang ditetapkan pengguna, gunakan perintah
az identity create. Jika berhasil, perintah menghasilkan output JSON.az identity create --resource-group "<group>" --name "<identity>"Opsi Deskripsi resource-group Nama grup sumber daya untuk membuat identitas. nama Nama sumber daya identitas yang akan dibuat. Untuk informasi selengkapnya, lihat referensi identitas az .
Rekam grup sumber daya dan nama identitas yang
clientIdAnda masukkan dan dari output perintah. Anda akan menggunakan nilai-nilai ini dalam langkah-langkah berikut.
Membuat sumber daya dengan templat ARM
Anda akan menggunakan templat Azure Resource Manager (ARM) untuk membuat layanan aplikasi dan sumber daya Azure Bot.
Direktori templat penyebaran proyek bot Anda berisi dua templat ARM.
- Satu membuat sumber daya di grup sumber daya baru , dengan paket layanan aplikasi baru.
- Satu membuat sumber daya di grup sumber daya yang ada , dengan paket layanan aplikasi baru atau yang sudah ada.
Pilih opsi yang paling sesuai untuk Anda. Langkah ini bisa memakan waktu beberapa menit untuk diselesaikan.
Tip
Jenis sumber daya Azure Web App Bot dan Pendaftaran Saluran Bot tidak digunakan lagi. Sumber daya yang dikonfigurasi dan disebarkan sebelum penghentian akan terus berfungsi. Bot yang dibuat dari templat VSIX atau Yeoman dari SDK versi 4.14.1.2 atau yang lebih baru berisi templat ARM yang akan menghasilkan sumber daya Azure Bot.
Untuk bot identitas terkelola yang ditetapkan pengguna, jalankan perintah ini untuk memprovisikan sumber daya dalam grup sumber daya baru dan paket layanan aplikasi baru.
az deployment sub create --template-file "<path>" --location <bot-region> --parameters appType="UserAssignedMSI" appId="<client-id>" tenantId="<tenant-id>" existingUserAssignedMSIName="<identity>" existingUserAssignedMSIResourceGroupName="<identity-group>" botId="<bot-id>" botSku=<tier> newAppServicePlanName="<plan-name>" newWebAppName="<service-name>" groupName="<group-name>" groupLocation="<group-region>" newAppServicePlanLocation="<plan-region>" --name "<deployment-name>"
Tabel ini menjelaskan opsi perintah untuk az deployment sub create perintah.
| Opsi | Deskripsi |
|---|---|
| lokasi | Wilayah tempat membuat sumber daya Azure Bot. |
| nama | Nama penyebaran. |
| parameter | Parameter penyebaran untuk templat ARM, disediakan sebagai daftar pasangan kunci-nilai. Lihat tabel parameter untuk deskripsi. |
| file templat | Jalur ke template-with-new-rg.json templat ARM di folder templat penyebaran proyek bot. Jalurnya bisa relatif atau absolut. |
Tabel ini menjelaskan parameter penyebaran untuk digunakan dengan --parameters opsi perintah.
Tidak semua parameter berlaku untuk semua jenis aplikasi.
| Parameter | Deskripsi |
|---|---|
| appId | ID klien atau aplikasi dari sumber daya identitas yang Anda buat sebelumnya. Ini digunakan sebagai ID aplikasi Microsoft dari aplikasi web. |
| appSecret | Untuk jenis aplikasi penyewa tunggal dan multi-penyewa, kata sandi untuk sumber daya identitas yang Anda buat sebelumnya. |
| appType | Jenis layanan aplikasi untuk membuat: UserAssignedMSI, , SingleTenantatau MultiTenant. Defaultnya adalah MultiTenant. |
| botId | ID sumber daya Azure Bot yang akan dibuat. ID bot tidak dapat diubah. |
| botSku | Tingkat harga yang digunakan untuk bot: F0 (Gratis) atau S1 (Standar). |
| existingUserAssignedMSIName | Untuk jenis aplikasi identitas terkelola yang ditetapkan pengguna, nama sumber daya identitas yang Anda buat sebelumnya. |
| existingUserAssignedMSIResourceGroupName | Untuk jenis aplikasi identitas terkelola yang ditetapkan pengguna, nama grup sumber daya untuk sumber daya identitas Anda. |
| groupLocation | Wilayah tempat membuat grup sumber daya baru Anda. |
| groupName | Nama untuk grup sumber daya baru Anda. |
| newAppServicePlanLocation | Wilayah tempat membuat paket layanan aplikasi. |
| newAppServicePlanName | Nama paket layanan aplikasi yang akan dibuat untuk bot. |
| newAppServicePlanSku | Opsional, tingkat harga yang akan digunakan untuk paket layanan aplikasi. Defaultnya adalah S1. |
| newWebAppName | Nama layanan aplikasi yang akan dibuat untuk bot. Harus berupa nama aplikasi web yang unik secara global. Defaultnya adalah nilai untuk botId parameter . |
| tenantId | Untuk identitas terkelola yang ditetapkan pengguna dan jenis aplikasi penyewa tunggal, penyewa Azure AD digunakan untuk autentikasi bot. Defaultnya adalah ID penyewa langganan Anda. |
Memperbarui pengaturan konfigurasi proyek
Informasi identitas bot
Ikuti langkah-langkah ini untuk menambahkan informasi identitas ke file konfigurasi bot Anda. File berbeda tergantung pada bahasa pemrograman yang Anda gunakan untuk membuat bot.
Penting
Versi Java dan Python dari Bot Framework SDK hanya mendukung bot multi-penyewa. Versi C# dan JavaScript mendukung ketiga jenis aplikasi untuk mengelola identitas bot.
| Bahasa | Nama file | Catatan |
|---|---|---|
| C# | appsettings.json | Mendukung ketiga jenis aplikasi untuk mengelola identitas bot Anda. |
| JavaScript | .env | Mendukung ketiga jenis aplikasi untuk mengelola identitas bot Anda. |
| Java | application.properties | Hanya mendukung bot multi-penyewa. |
| Python | config.py | Hanya mendukung bot multi-penyewa. Berikan properti identitas sebagai argumen untuk os.environ.get panggilan metode. |
Informasi identitas yang perlu Anda tambahkan tergantung pada jenis aplikasi bot. Berikan nilai berikut dalam file konfigurasi Anda.
Hanya tersedia untuk bot C# dan JavaScript.
| Properti | Nilai |
|---|---|
MicrosoftAppType |
UserAssignedMSI |
MicrosoftAppId |
ID klien identitas terkelola yang ditetapkan pengguna. |
MicrosoftAppPassword |
Tidak dapat diterapkan. Biarkan ini kosong untuk bot identitas terkelola yang ditetapkan pengguna. |
MicrosoftAppTenantId |
ID penyewa identitas terkelola yang ditetapkan pengguna. |
Menyiapkan file proyek Anda
Siapkan file proyek anda sebelum menyebarkan bot.
Beralih ke folder akar proyek Anda. Untuk C#, akarnya adalah folder yang berisi file .csproj.
Lakukan pembangunan ulang yang bersih dalam mode pelepas.
Jika Anda belum melakukannya sebelumnya, jalankan
az bot prepare-deployuntuk menambahkan file yang diperlukan ke akar direktori kode sumber lokal Anda. Perintah ini menghasilkan.deploymentfile di folder proyek bot Anda.az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"Opsi Deskripsi lang Bahasa atau runtime bot. Gunakan Csharp.code-dir Direktori untuk menempatkan file penyebaran yang dihasilkan. Gunakan folder akar proyek Anda. Defaultnya adalah direktori saat ini. proj-file-path Jalur ke file .csproj untuk bot Anda, relatif terhadap code-diropsi .Dalam folder akar proyek Anda, buat file zip yang berisi semua file dan subfolder.
Terbitkan bot Anda
Pada titik ini, kami siap untuk menyebarkan kode ke Azure Web App.
Jalankan perintah berikut dari baris perintah untuk melakukan penyebaran menggunakan penyebaran push zip Kudu untuk aplikasi web.
az webapp deployment source config-zip --resource-group "<resource-group-name>" --name "<name-of-web-app>" --src "<project-zip-path>"
| Opsi | Deskripsi |
|---|---|
| resource-group | Nama grup sumber daya Azure yang berisi bot Anda. |
| nama | Nama Aplikasi Web yang Anda gunakan sebelumnya. |
| src | Jalur ke file proyek zip yang Anda buat. |
Catatan
Langkah ini bisa memakan waktu beberapa menit untuk diselesaikan. Juga dapat memakan waktu beberapa menit lagi antara ketika penyebaran selesai dan kapan bot Anda tersedia untuk diuji.
Uji di Web Chat
- Di browser Anda, navigasikan ke portal Azure.
- Buka sumber daya bot Anda.
- Buka panel Uji di Web Chat.
- Berinteraksi dengan bot yang Anda sebarkan.
Untuk informasi selengkapnya tentang pendaftaran bot, lihat Mendaftarkan bot dengan Bot Service.
Informasi Tambahan
Lokasi sumber daya
Beberapa perintah memerlukan parameter lokasi atau wilayah.
- Gunakan
az account list-locationsuntuk mencantumkan wilayah yang didukung untuk langganan saat ini. - Gunakan
az config set defaults.location=<location>untuk mengatur lokasi default yang akan digunakan untuk semuaazperintah.
Untuk membuat bot dengan residensi data di Eropa atau AS, gunakan masing-masing "westeurope" atau "westus2", untuk lokasi untuk grup sumber daya dan semua sumber daya bot. Untuk informasi selengkapnya tentang residensi data, lihat Menjawab Panggilan Eropa: Menyimpan dan Memproses Data UE di UE.
Dokumentasi Azure
Lihat artikel ini untuk informasi selengkapnya tentang aplikasi dan sumber daya Azure yang digunakan untuk menghosting bot.
| Subjek | Artikel |
|---|---|
| Azure CLI | Apa itu Azure CLI? |
| Manajemen langganan Azure | Cara mengelola langganan Azure dengan Azure CLI |
| Wilayah Azure | Wilayah dan zona ketersediaan |
| Grup sumber daya dan manajemen sumber daya | Mengelola sumber daya Azure |
| Identitas Terkelola | Apa identitas yang dikelola untuk sumber daya Azure? |
| Aplikasi penyewa tunggal dan multi-penyewa | Penyewaan di Azure Active Directory |
| Aplikasi web | App Service |
| Menghitung sumber daya untuk aplikasi web | Paket App Service |
| Templat Azure Resource Manager (templat ARM) | Apa itu templat ARM? dan Cara menggunakan templat penyebaran Azure Resource Manager (ARM) dengan Azure CLI |
| Tagihan Azure | Manajemen penagihan dan biaya |
Bersihkan sumber daya
Jika Anda tidak akan terus menggunakan aplikasi ini, hapus sumber daya terkait dengan langkah-langkah berikut:
- Di portal Azure, buka grup sumber daya untuk bot Anda.
- Pilih Hapus grup sumber daya untuk menghapus grup dan semua sumber daya yang ada di dalamnya.
- Masukkan nama grup sumber daya di panel konfirmasi, lalu pilih Hapus.
- Jika Anda membuat aplikasi penyewa tunggal atau multi-penyewa:
- Buka bilah Azure Active Directory.
- Temukan pendaftaran aplikasi yang Anda gunakan untuk bot Anda, dan hapus.