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.

  • Penginstalan Azure CLI.

    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

  1. Buka jendela perintah.

  2. Masuk ke Azure.

    az login
    

    Jendela browser akan terbuka. Selesaikan proses masuk. Jika berhasil, perintah menghasilkan daftar langganan yang dapat diakses akun Anda.

  3. Untuk mengatur langganan yang akan digunakan, jalankan:

    az account set --subscription "<subscription>"
    

    Untuk <langganan>, gunakan ID atau nama langganan untuk digunakan.

  4. Jika Anda akan membuat identitas terkelola yang ditetapkan pengguna atau bot penyewa tunggal, rekam tenantId untuk 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.

  1. Jika Anda belum memiliki grup sumber daya yang sesuai, gunakan az group create perintah 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.

  2. 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 .

  3. Rekam grup sumber daya dan nama identitas yang clientId Anda 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.

  1. Beralih ke folder akar proyek Anda. Untuk C#, akarnya adalah folder yang berisi file .csproj.

  2. Lakukan pembangunan ulang yang bersih dalam mode pelepas.

  3. Jika Anda belum melakukannya sebelumnya, jalankan az bot prepare-deploy untuk menambahkan file yang diperlukan ke akar direktori kode sumber lokal Anda. Perintah ini menghasilkan .deployment file 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-dir opsi .
  4. 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

  1. Di browser Anda, navigasikan ke portal Azure.
  2. Buka sumber daya bot Anda.
  3. Buka panel Uji di Web Chat.
  4. 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-locations untuk mencantumkan wilayah yang didukung untuk langganan saat ini.
  • Gunakan az config set defaults.location=<location> untuk mengatur lokasi default yang akan digunakan untuk semua az perintah.

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:

  1. Di portal Azure, buka grup sumber daya untuk bot Anda.
    1. Pilih Hapus grup sumber daya untuk menghapus grup dan semua sumber daya yang ada di dalamnya.
    2. Masukkan nama grup sumber daya di panel konfirmasi, lalu pilih Hapus.
  2. Jika Anda membuat aplikasi penyewa tunggal atau multi-penyewa:
    1. Buka bilah Azure Active Directory.
    2. Temukan pendaftaran aplikasi yang Anda gunakan untuk bot Anda, dan hapus.

Langkah berikutnya