Bagikan melalui


Mengonfigurasi bot Node.js untuk ekstensi

Mulai 1 September 2023, sangat disarankan untuk menggunakan metode Tag Layanan Azure untuk isolasi jaringan. Pemanfaatan DL-ASE harus terbatas pada skenario yang sangat spesifik. Sebelum menerapkan solusi ini di lingkungan produksi, sebaiknya konsultasikan dengan tim dukungan Anda untuk mendapatkan panduan.

BERLAKU UNTUK: SDK v4

Artikel ini menjelaskan cara memperbarui bot Node.js untuk bekerja dengan pipa bernama dan cara mengaktifkan ekstensi Direct Line App Service di sumber daya Azure App Service tempat bot dihosting.

Prasyarat

  • Akun Azure. Jika Anda belum memilikinya, buat akun gratis sebelum memulai.
  • Bot Node.js disebarkan di Azure.
  • Bot Framework SDK untuk Node.js, 4.7 atau yang lebih baru.

Aktifkan ekstensi Direct Line App Service

Bagian ini menjelaskan cara mengaktifkan ekstensi Direct Line App Service menggunakan kunci ekstensi App Service dari konfigurasi saluran Direct Line bot Anda.

Memperbarui kode bot

Untuk mengizinkan aplikasi Anda menggunakan Direct Line App Service Extension Named Pipe:

  1. Edit file bot index.js Anda.

    1. Temukan baris tempat Anda membuat adaptor bot.

    2. Setelah adaptor dibuat, tambahkan pernyataan berikut, yang akan menarik nama App Service dari lingkungan dan menginstruksikan adaptor untuk menyambungkan ke pipa bernama yang sesuai.

      • Jika bot Anda menggunakan (disarankan CloudAdapter ):

        adapter.connectNamedPipe(
            process.env.APPSETTING_WEBSITE_SITE_NAME + '.directline',
            async (context) => {
                await myBot.run(context);
            },
            process.env.MicrosoftAppId,
            AuthenticationConstants.ToChannelFromBotOAuthScope);
        
      • Jika bot Anda menggunakan BotFrameworkAdapter:

        adapter.useNamedPipe(async (context) => {
            await myBot.run(context);
            },
            process.env.APPSETTING_WEBSITE_SITE_NAME + '.directline'
        );
        
    3. Simpan perubahan Anda.

  2. Edit file bot web.config Anda untuk menambahkan handler dan aturan yang AspNetCore diperlukan oleh ekstensi Direct Line App Service ke permintaan layanan.

    1. Edit file bot web.config Anda.

    2. webSocket Ubah atribut tag enabled menjadi true.

      <webSocket enabled="true" />
      
    3. Di bagian , <handlers> tambahkan pendaftaran untuk handler berikut.

      <add name="aspNetCore" path="*/.bot/*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      
    4. Di bagian , <rewrite> tambahkan aturan berikut ke daftar aturan.

      <!-- Do not interfere with Direct Line App Service extension requests. (This rule should be as high in the rules section as possible to avoid conflicts.) -->
      <rule name ="DLASE" stopProcessing="true">
        <conditions>
          <add input="{REQUEST_URI}" pattern="^/.bot"/>
        </conditions>
      </rule>
      
    5. Simpan perubahan Anda.

  3. Sebarkan ulang bot Anda yang diperbarui ke Azure.

Mengaktifkan ekstensi App Service Direct Line bot

  1. Di portal Azure, buka sumber daya Azure Bot Anda.

    1. Di bawah Pengaturan pilih Saluran untuk mengonfigurasi saluran tempat bot Anda menerima pesan.
    2. Jika belum diaktifkan, pilih saluran Direct Line dari daftar Saluran yang tersedia untuk mengaktifkan saluran.
    3. Setelah mengaktifkan Direct Line, pilih lagi dari halaman Saluran .
    4. Pilih tab ekstensi App Service.
    5. Di bawah Kunci Ekstensi App Service, pilih ikon mata di samping kunci yang sesuai.
  2. Buka beranda dan pilih App Services di bagian atas halaman. Atau, tampilkan menu portal lalu pilih item menu App Services . Azure akan menampilkan halaman App Services .

  3. Dalam kotak pencarian, masukkan nama sumber daya Azure Bot Anda. Sumber daya Anda akan dicantumkan.

    Perhatikan bahwa jika Anda mengarahkan mouse ke atas ikon atau item menu, Anda mendapatkan daftar sumber daya terakhir yang dilihat. Sumber daya Azure Bot Anda kemungkinan akan tercantum.

  4. Pilih tautan sumber daya Anda.

    1. Di bagian Pengaturan, pilih item menu Konfigurasi.

    2. Di panel kanan, tambahkan pengaturan berikut:

      Nama Nilai
      DirectLineExtensionKey Nilai kunci ekstensi App Service yang Anda salin sebelumnya.
      DIRECTLINE_EXTENSION_VERSION terbaru
    3. Jika bot Anda dihosting di cloud Azure yang berdaulat atau dibatasi, di mana Anda tidak mengakses Azure melalui portal publik, Anda juga perlu menambahkan pengaturan berikut:

      Nama Nilai
      DirectLineExtensionABSEndpoint Titik akhir khusus untuk cloud Azure tempat bot Anda dihosting. Untuk cloud USGov misalnya, titik akhirnya adalah https://directline.botframework.azure.us/v3/extension.
    4. Dari dalam bagian Konfigurasi , pilih bagian Pengaturan umum dan aktifkan soket Web.

    5. Pilih Simpan untuk menyimpan pengaturan. Ini menghidupkan ulang Azure App Service.

Konfirmasikan ekstensi Direct Line dan bot dikonfigurasi

Di browser Anda, buka https://<your_app_service>.azurewebsites.net/.bot. Jika semuanya benar, halaman akan mengembalikan konten JSON berikut:

    {"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
  • v menunjukkan versi build ekstensi Direct Line App Service.
  • k menunjukkan apakah ekstensi dapat membaca kunci ekstensi dari konfigurasinya.
  • diinisialisasi menunjukkan apakah ekstensi dapat mengunduh metadata bot dari Azure AI Bot Service.
  • ib menunjukkan apakah ekstensi dapat membuat koneksi masuk ke bot.
  • ob menunjukkan apakah ekstensi dapat membuat koneksi keluar dari bot.

Pemecahan Masalah

  • Jika nilai ib dan ob yang ditampilkan oleh titik akhir .bot salah, bot dan ekstensi Direct Line App Service tidak dapat terhubung satu sama lain.

    1. Periksa kembali kode untuk menggunakan pipa bernama telah ditambahkan ke bot.
    2. Konfirmasikan bahwa bot dapat memulai dan menjalankan. Alat yang berguna adalah Uji di WebChat, menghubungkan saluran tambahan, penelusuran kesalahan jarak jauh, atau pengelogan.
    3. Hidupkan ulang seluruh Azure App Service tempat bot dihosting, untuk memastikan start up bersih dari semua proses.
  • Jika nilai inisialisasi titik akhir .bot salah, ekstensi Direct Line App Service tidak dapat memvalidasi kunci ekstensi App Service yang ditambahkan ke Pengaturan Aplikasi bot di atas.

    1. Konfirmasikan nilai dimasukkan dengan benar.
    2. Beralih ke kunci ekstensi alternatif yang ditampilkan di halaman Konfigurasi Direct Line bot Anda.

Langkah berikutnya