Kongsi melalui


Bab 6: Menggunakan API Web dalam aplikasi

Mazlina dan Kiana bersedia untuk menggabungkan aplikasi dengan API Web. Walau bagaimanapun, sebelum meneruskan, mereka memutuskan untuk berunding dengan Preeti, Pengurus Operasi IT.

Memahami keperluan pengurusan operasi IT untuk API Web

Preeti bimbang tentang aplikasi dan API web mesti selamat kerana ia menyediakan akses kepada data sensitif yang disimpan dalam pelbagai pangkalan data. Preeti mahukan jaminan bahawa pengesahan dan kebenaran akan disertakan untuk mengelakkan akses yang tidak wajar kepada maklumat. Preeti juga menyedari bahawa syarikat itu sedang berkembang pesat, dan jumlah data yang terlibat dalam menguruskan pelanggan, janji temu, bahagian, dan pangkalan pengetahuan mungkin meningkat secara mendadak dalam tempoh yang dekat. Akibatnya, penyelesaiannya perlu berskala.

Kiana menjelaskan kepada Preeti bahawa API Web pada masa ini dilaksanakan dengan Perkhidmatan Aplikasi Azure. Perkhidmatan ini menyokong sebilangan penyedia pengesahan yang Preeti boleh konfigurasikan dengan menggunakan portal Azure. Preeti amat berminat dengan Microsoft Entra ID kerana VanArsdel ingin melancarkan bentuk pengesahan ini kepada banyak sistem korporat mereka yang lain dalam masa terdekat.

Konfigurasi pengesahan Perkhidmatan Aplikasi.

Perkhidmatan aplikasi juga menyediakan kebolehskalaan mendatar dan menegak. Jika perlu, Preeti boleh menskalakan sumber yang tersedia kepada API Web dengan menaik taraf pelan Perkhidmatan Aplikasi untuk aplikasi web:

Penskalaan Perkhidmatan Aplikasi.

Preeti juga boleh mengatur sistem untuk berskala keluar dengan mengkonfigurasi penskalaan automatik. Perkhidmatan Aplikasi membolehkan pengurus operasi mentakrifkan peraturan autoskala yang menentukan keadaan di mana sistem perlu menskalakan lebih banyak tika pabila beban meningkat atau kembali semula apabila permintaan menurun. Preeti juga boleh mengkonfigurasi penskalaan automatik pre-emptive untuk berlaku mengikut jadual:

Penskalaan Perkhidmatan Aplikasi.

Bahagian utama dalam peranan Pengurus Operasi IT adalah memerhatikan cara sistem mungkin berubah, dan untuk memastikan bahawa struktur sokongan asas akan mengendalikan pengembangan dan perubahan masa depan. Preeti tahu bahawa API Web yang dibangunkan oleh Kiana mungkin dilanjutkan, dan digunakan semula oleh sistem VanArsdel lain pada masa hadapan. Preeti perlu dapat mengurus dan mengawal cara pembangun meminta penggunaan API Web, melindunginya sebagai sumber berharga dan memantau penggunaannya. Oleh itu Preeti memutuskan untuk melindungi API Web di sebalik perkhidmatan Pengurusan API Azure.

Pengurusan API memberikan lapisan keselamatan tambahan kepada API Web, serta mendayakan pemantauan terperinci dan kawalan ke atas klien yang boleh mengakses operasi. Menggunakan Pengurusan API, Preeti boleh menguruskan penggunaan sumber, dan mengawal prestasi pelanggan keutamaan rendah untuk memastikan aplikasi keutamaan yang kritikal diberi perkhidmatan dengan lebih cepat.

Untuk mendapatkan maklumat tentang perkhidmatan yang disediakan oleh API Management, pergi ke Perihal API Management.

Mencipta perkhidmatan Pengurusan API

Preeti mencipta perkhidmatan Pengurusan API melalui portal Azure, menggunakan langkah berikut:

  1. Log masuk ke portal Microsoft Azure dan, pada halaman Utama , pilih Cipta sumber.

    Halaman Utama portal Azure.

  2. Dalam kotak teks Cari MarketPlace , masukkan Pengurusan API, dan kemudian pilih Enter.

  3. Pada halaman Pengurusan API, pilih Cipta.

    Laman Cipta Perkhidmatan Pengurusan API Azure.

  4. Pada halaman Cipta Pengurusan API, masukkan nilai berikut, dan kemudian pilih Semak + cipta:

    • Langganan: Pilih langganan anda
    • Kumpulan sumber: webapi_rg (ini ialah kumpulan sumber yang sama yang anda cipta untuk App Service)
    • Rantau: Pilih rantau terdekat anda
    • Nama sumber: Masukkan nama unik untuk perkhidmatan
    • Nama organisasi: VanArsdel
    • E-mel pentadbir: itadmin@vanarsdel.com
    • Peringkat harga: Pembangun (tiada SLA)

    Nota

    Jangan gunakan peringkat harga Pembangun untuk sistem pengeluaran.

    Laman Perkhidmatan Pengurusan API Baharu.

  5. Pada halaman pengesahan, pilih Cipta dan tunggu sementara perkhidmatan Pengurusan API dicipta.

    Nota

    Ia boleh mengambil masa 30 minit atau lebih untuk perkhidmatan Pengurusan API diperuntukkan; bersabar.

Menerbitkan API Web melalui Pengurusan API

Selepas perkhidmatan Pengurusan API dicipta, Preeti menerbitkan API Web untuk menjadikannya boleh diakses oleh perkhidmatan dan aplikasi lain menggunakan langkah berikut:

  1. Dalam portal Azure, pergi ke perkhidmatan Pengurusan API.

  2. Pada halaman perkhidmatan Pengurusan API, pada anak tetingkap kiri di bawah API, pilih API:

    Halaman Perkhidmatan Pengurusan API. Pilih API.

  3. Dalam anak tetingkap Tambah API baharu, pilih OpenAPI:

    Halaman Perkhidmatan Pengurusan API. Pilih OpenAPI.

  4. Dalam dialog Cipta daripada OpenAPI spesifikasi , masukkan nilai berikut dan kemudian pilih Cipta:

    • OpenAPI specification: https://<webapp name>.azurewebsites.net/swagger/v1/swagger.json, di mana <nama> aplikasi web ialah nama App Service yang mengehoskan API Web anda
    • Nama paparan: API Jurutera Lapangan
    • Nama: field-engineer-api
    • Akhiran URL API: Biarkan kosong
    • URL tapak: Gunakan URL lalai

    Cipta API daripada spesifikasi OpenAPI.

  5. Apabila API Jurutera Medan telah dicipta, pilih tab Tetapan untuk API, setkan URL Perkhidmatan Web kepada https://<nama> aplikasi web.azurewebsites.net dan kemudian pilih Simpan:

    Konfigurasikan tetapan API.

  6. Pada tab Uji, pilih GET api/URI Janji Temu dan kemudian pilih Hantar:

    Uji API GetAppointments.

  7. Sahkan bahawa permintaan berjaya (kod pulangan HTTP ialah 200 OK), dan ia mengembalikan hasil yang mengandungi senarai janji temu dalam isi respons:

    Respons daripada ujian API GetAppointments.

Menyambung kepada Pengurusan API daripada aplikasi

Kiana dan Mazlina kini boleh bekerja bersama untuk menyambungkan aplikasi yang dibina menggunakan Power Apps ke API Web melalui perkhidmatan Pengurusan API.

Tugas pertama adalah mencipta penyambung tersuai yang digunakan oleh aplikasi untuk berhubung dengan Pengurusan API. Ini melibatkan mengeksport API kepada persekitaran Power Apps yang digunakan untuk mencipta aplikasi, yang Kiana lakukan seperti berikut:

  1. Dalam portal Azure, pergi ke halaman untuk perkhidmatan Pengurusan API yang Preeti cipta.

  2. Pada anak tetingkap kiri di bawah API, pilih API.

  3. Pilih butang elipsis untuk Jurutera Medan Api, dan kemudian pilih Eksport.

    Eksport API Web.

  4. Pada anak tetingkap Eksport API , pilih Power Apps dan Power Automate:

    Eksport API Web ke Power Apps.

  5. Pada anak tetingkap Eksport API PowerApps , pilih Power Apps persekitaran di mana anda mencipta aplikasi prototaip (Maria dalam imej berikut), dan kemudian pilih Eksport.

    Eksport ke persekitaran Power Apps Mazlina.

  6. Selepas API telah dieksport, pilih API Jurutera Lapangan. Pada halaman Tetapan , tatal ke bawah ke bahagian Langganan , kosongkan Langganan diperlukan dan kemudian pilih Simpan.

    Nyahpilih Langganan yang Diperlukan.

Aplikasi prototaip menggunakan buku kerja Excel untuk sumber data. Sekarang, penyambung tersuai untuk API Web telah tersedia, Mazlina melaksanakan langkah berikut untuk menambah penyambung pada aplikasi:

  1. Log masuk ke. Power Apps

  2. Pada anak tetingkap kiri, kembangkan Data dan pilihPenyambung Tersuai . Penyambung tersuai api-jurutera lapangan hendaklah disenaraikan. Pilih Cipta sambungan.

    Cara penyambung tersuai baharu.

  3. Dalam dialog field-engineer-api , pilih Cipta.

    Cipta penyambung FieldEngineerAPI.

  4. Apabila sambungan telah dicipta, sahkan yang ia muncul dalam senarai sambungan yang tersedia.

    Paparkan sambungan yang tersedia.

  5. Pada anak tetingkap kiri, pilih Apl, pilih VanArsdelApp dan kemudian pilih Edit.

    Edit aplikasi VanArsdel.

  6. Pada anak tetingkap kiri, pilih tab Data . Pilih Tambah data, pilih butang elipsis untuk Penyambung dan kemudian pilih Muat Semula.

    Segar semula sumber data.

  7. Dalam senarai penyambung, pilih penyambung field-engineer-api .

    Lihat penyambung.

  8. Dalam dialog field-engineer-api , pilih penyambung field-engineer-api .

    Tambah penyambung FieldEngineerAPI.

  9. Pada anak tetingkap Data , sahkan bahawa penyambung FieldEngineerApi disenaraikan.

    Penyambung FieldEngineerAPI ditambah.

Mengemas kini aplikasi untuk menggunakan penyambung: Pengurusan inventori medan

Sekarang, sambungan telah ditambah pada aplikasi, Mazlina boleh mengubah suai skrin untuk digunakan bagi menggantikan buku kerja Excel. Ini melibatkan mengendalikan setiap skrin secara berkaedah dan mengubah sumber data. Perubahan lain tidak diperlukan. Maria bermula dengan skrin BrowseParts dan PartDetails , seperti berikut:

  1. Pada skrin Utama apl, pilih butang Bahagian . Setkan sifat tindakan OnSelect kepada formula berikut.

    ClearCollect(partsCollection, FieldEngineerAPI.getapiboilerparts());
    
    Navigate(BrowseParts, ScreenTransition.Fade)
    

    Fungsi ClearCollect mencipta koleksi baharu bernama partsCollection dan mengisinya dengan data yang terhasil daripada memanggiloperasi getboilerparts dalam sambungan FieldEngineerAPI .

    Cipta pemboleh ubah partsCollection.

    Nota

    Ia amalan yang baik untuk mendapatkan data ke dalam koleksi dan merujuk koleksi tersebut dari mana-mana skrin yang memerlukan maklumat tersebut. Pendekatan ini boleh menyimpan skrin yang berbeza daripada berulang kali menjalankan pertanyaan sama dan mengambil data yang sama.

  2. Pilih F5 untuk pratonton apl.

  3. Pada skrin Laman Utama , pilih Bahagian. Tindakan ini akan membuat koleksi partsCollection . Tutup tetingkap pratonton dan kembali ke Power Apps Studio.

    Nota

    Tujuan langkah ini adalah untuk membolehkan anda melihat data semasa anda mengedit skrin BrowseParts dalam langkah berikut.

  4. Pilih BrowseGallery1 kawalan dalam skrin BrowseParts . Dalam formula untuk harta Item , gantikan rujukan kepada sumber data [@Table1] kepada partsCollection.

    Perubahan ini akan mengakibatkan beberapa ralat. Ini kerana nama medan dalam buku kerja Excel asal menggunakan huruf besar (Name, CategoryID dan Ikhtisar), manakala sifat yang dikembalikan dalam badan API Web huruf kecil. Tukar rujukan ini untuk menggunakan huruf kecil. Formula hendaklah nampak seperti berikut.

    SortByColumns(Search(FieldEngineerApi.getapiboilerparts(), TextSearchBox1.Text, "name", "categoryId", "overview"), "name", If(SortDescending1, Descending, Ascending))
    

    Kemas kini formula untuk Semak imbas skrin.

  5. Pada anak tetingkap Tree view , pilih IconRefresh1 kawalan. Tukar OnSelect tindakan kepada formula ClearCollect(partsCollection, FieldEngineerAPI.getapiboilerparts()).

    Nota

    Formula asal untuk tindakan ini memanggil fungsi Refresh untuk mengisi semula data dengan menggunakan sambungan ke sumber data asal. Anda tidak boleh menggunakan Refresh dengan sambungan yang menjalankan fungsi untuk mendapatkan semula data, jadi ia tidak akan berfungsi dengan FieldEngineerApi.getapiboilerparts(). Penyelesaian dalam langkah ini mengisi semula partsCollection koleksi dengan data terkini.

  6. Pada anak tetingkap Tree view , kembangkan kawalan BrowseGallery1 dan pilih kawalan Body1 . Tukar Teks sifat kepada ThisItem.overview.

  7. Pada anak tetingkap Tree view , pilih Subtitle1 kawalan. Tukar Teks sifat kepada ThisItem.categoryId.

  8. Pada anak tetingkap Tree view , pilih kawalan Tajuk . Tukar Teks sifat kepada ThisItem.name.

  9. Pada anak tetingkap Tree view , pilih DetailForm1 kawalan dalam skrin PartDetails . Tukar DataSource sifat daripada [@Table1] kepada partsCollection.

  10. Pada anak tetingkap Tree view , pilih Name_DataCard1 kawalan di bawah DetailForm1. Tukar sifat lalai kepada ThisItem.name.

    Tukar Lalai untuk kad data Nama.

  11. Tukar Default sifat CategoryID_DataCard1 kawalan kepada ThisItem.categoryId.

  12. Tukar Default sifat Overview_DataCard1 kawalan kepada ThisItem.overview.

  13. Tukar sifat Lalai kawalan Price_DataCard1 ke ThisItem.price.

  14. Tukar sifat lalai kawalan NumberInStock_DataCard1 ke ThisItem.numberInStock.

  15. Tukar Default sifat Image_DataCard1 kawalan kepada ThisItem.imageUrl.

  16. Pada anak tetingkap kiri pada tab Data , klik kanan Jadual1 sambungan data, kemudian pilih Alih keluar untuk memadamkannya daripada apl. Sambungan ini tidak lagi diperlukan.

    Alih keluar sambungan Table1.

  17. Simpan aplikasi.

    Nota

    Anda boleh menyimpan apl dengan cepat tanpa menggunakan menu Fail dengan memilih Ctrl+S.

  18. Pilih F5 untuk pratonton apl. Skrin Browse Parts dan Bahagian sepatutnya beroperasi betul-betul seperti sebelum ini, kecuali kali ini ia mendapatkan semula data daripada InventoryDB Azure Excel, pangkalan data SQL setempat daripada fail API Azure, SQL tempatan.

  19. Tutup tetingkap pratonton dan kembali ke Power Apps Studio.

Mengemas kini Aplikasi menggunakan Penyambung: Penjadualan Medan dan Nota

Maria meneruskan dengan skrin BrowseAppointments, AppointmentDetails dan Edit Appointment . Data yang dibentangkan oleh skrin ini pada masa ini berasal daripada jadual Jadual dalam buku kerja Excel yang lain.

  1. Pada skrin Home apl, tetapkan OnVisible tindakan kepada formula berikut.

    ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime))
    

    Formula ini mendapatkan semula data janji temu ke dalam koleksi appointmentsCollection . Janji temu ditapis untuk mendapatkan semula lawatan yang dijadualkan pada atau selepas tarikh semasa.

  2. Pilih kawalan label yang memaparkan masa untuk janji temu seterusnya. Tetapkan Teks sifat kepada Teks(First(appointmentsCollection).startDateTime, ShortTime24).

  3. Pilih kawalan label yang memaparkan tarikh untuk janji temu seterusnya. Tetapkan Teks sifat kepada Teks(First(appointmentsCollection).startDateTime, LongDate).

  4. Pilih kawalan label yang memaparkan nama pelanggan untuk janji temu seterusnya. Tetapkan Teks sifat kepada First(appointmentsCollection).customer.name.

  5. Pilih F5 untuk pratonton apl. Pada skrin Laman Utama , pilih Temu janji. Tindakan ini akan membuat koleksi appointmentsCollection . Tutup tetingkap pratonton dan kembali ke Power Apps Studio.

  6. Pada tetingkap Tree view , pilih BrowseAppointmentsGallery kawalan dalam Browse Appointments skrin. Tukar formula dalam harta Item kepada formula berikut.

    Sort(Filter(appointmentsCollection, StartsWith(customer.name, TextSearchBox1\_1.Text)), startDateTime)
    

    Formula ini menapis data yang dipaparkan pada skrin mengikut nama pelanggan, membolehkan pengguna memasukkan nama pelanggan. Janji temu dipaparkan dalam urutan tarikh dan masa.

  7. Pada anak tetingkap Tree view , kembangkan kawalan BrowseAppointmentsGallery dan pilih kawalan Title1_1 . Tukar sifat Teks kepada yang berikut.

    Text(ThisItem.startDateTime, LongDate)
    

    Formula ini memaparkan bahagian tarikh medan startDateTime untuk janji temu.

  8. Pada anak tetingkap Tree view , kembangkan BrowseAppointmentsGallery kawalan dan pilih Subtitle1_1 kawalan. Tukar sifat Teks kepada yang berikut.

    Text(ThisItem.startDateTime, ShortTime24)
    

Formula ini memaparkan elemen masa medan startDateTime .

  1. Pada anak tetingkap Tree view , kembangkan kawalan BrowseAppointmentsGallery dan pilih kawalan Body1_1 . Tukar sifat Teks kepada yang berikut.

    ThisItem.customer.name
    
  2. Pada anak tetingkap Tree view , pilih IconRefresh1_1 kawalan pada skrin Browse Appointments . Tetapkan OnSelect tindakan kepada formula berikut.

    ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime));
    
  3. Pada tetingkap Tree view , kembangkan skrin Details dan pilih kawalan DetailForm1_1 . Tetapkan DataSource harta kepada appointmentsCollection.

  4. Pada anak tetingkap Tree view , pilih IconEdit1 kawalan. Ubah suai formula dalam harta DisplayMode untuk menguji koleksi appoinmentsCollection .

    If(DataSourceInfo(**appointmentsCollection**, DataSourceInfo.EditPermission), DisplayMode.Edit, DisplayMode.Disabled)
    
  5. Pada tetingkap Tree view , kembangkan skrin DetailForm1_1 dan pilih Customer Name_DataCard1 kawalan. Tukar sifat lalai kepada ThisItem.customer.name.

  6. Tukar sifat Lalai kad data yang tinggal seperti berikut:

    • Alamat_DataCard1 Pelanggan: ThisItem.customer.address
    • Contact Number_DataCard1: ThisItem.customer.contactNumber
    • Butiran Masalah_DataCard1: ThisItem.problemDetails
    • Status_DataCard1: ThisItem.appointmentStatus.statusName
    • Notes_DataCard1: ThisItem.notes
    • Image_DataCard1_1: ThisItem.imageUrl
  7. Pada anak tetingkap Tree view , kembangkan skrin Edit Appointment dan pilih kawalan EditForm1 . Tetapkan DataSource harta kepada appointmentsCollection.

  8. Pada anak tetingkap Tree view , kembangkan kawalan EditForm1 dan pilih Nama Pelanggan_DataCard3 kawalan. Tukar sifat lalai kepada ThisItem.customer.name.

  9. Tukar sifat Lalai kad data yang tinggal seperti berikut:

  • Contact Number_DataCard2: ThisItem.customer.contactNumber; selain itu, tukar MaxLength harta kepada 20
  • Butiran Masalah_DataCard2: ThisItem.problemDetails
  • Status_DataCard5: ThisItem.appointmentStatus.statusName
  • Notes_DataCard3: ThisItem.notes
  • Image_DataCard2: ThisItem.imageUrl
  1. Pada anak tetingkap Tree view , kembangkan kawalan Problem Details_Card2 . Namakan semula medan DataCardValueX (X akan menjadi nombor) di bawah kawalan ini kepada ProblemDetailsValue. Ulangi proses ini untuk kawalan DataCardValueX dalam kad data berikut:

    • Status_DataCard5: StatusValue
    • Notes_DataCard3: NotesValue

    Nota

    Kawalan Imej akan ditangani dalam bab seterusnya.

  2. Pilih ProblemDetailsValue dan tetapkan MaxLength sifat kepada 100.

  3. Pada anak tetingkap Tree view , pilih IconAccept1 kawalan pada skrin Edit Appointment . Setkan sifat tindakan OnSelect kepada formula berikut.

    FieldEngineerAPI.putapiappointmentsid(BrowseAppointmentsGallery.Selected.id, {problemDetails:ProblemDetailsValue.Text, statusName:StatusValue.Selected.Value, notes:NotesValue.Text, imageUrl:""});
    
    Remove(appointmentsCollection, First(Filter(appointmentsCollection, id=BrowseAppointmentsGallery.Selected.id)));
    
    Set(appointmentRec, FieldEngineerAPI.getapiappointmentsid(BrowseAppointmentsGallery.Selected.id));
    
    Collect(appointmentsCollection, appointmentRec);
    
    Navigate(AppointmentDetails, ScreenTransition.None);
    

    Formula ini memanggil operasi PUT untuk pengawal Janji Temu dalam API Web. Ia menghantar ID janji temu untuk janji temu semasa sebagai parameter pertama, diikuti dengan butiran yang pengguna mungkin telah ubah suai pada skrin. Butiran dihantar sebagai objek JSON. Penyata Alih Keluar, Tetapkan dan Kumpul mengemas kini appointmentsCollection koleksi dengan data yang disimpan ke pangkalan data.

    Nota

    Jangan gunakan fungsi ClearCollect untuk memadam dan memuat semula keseluruhan koleksi dalam situasi seperti ini, kerana ia akan membazir jika—sebagai contoh—hanya satu rekod telah berubah.

  4. Pada anak tetingkap Tree view , pilih IconAccept1 kawalan pada skrin Edit Appointment . Tetapkan OnSelect sifat tindakan kepada yang berikut.

    ResetForm(EditForm1);
    
    Navigate(AppointmentDetails, ScreenTransition.None);
    
  5. Pada anak tetingkap kiri pada tab Data , klik kanan pada sambungan data Janji, dan kemudian pilih Alih keluar untuk memadamkannya daripada apl.

  6. Simpan aplikasi.

  7. Pilih F5 untuk pratonton apl. Daripada skrin Laman Utama , pergi ke skrin Temu janji , pilih dan edit janji temu, kemudian simpan perubahan. Sahkan bahawa janji temu telah dikemas kini.

  8. Tutup tetingkap pratonton dan kembali ke Power Apps Studio.

Mencipta perkhidmatan Carian Kognitif Azure untuk Knowledgebase Medan

Skrin Knowledgebase dalam aplikasi tidak dilampirkan pada sebarang sumber data. API Web termasuk operasi untuk membuat pertanyaan dan mengemas kini Petua, BoilerParts dan Jurutera jadual dalam a a. Walau bagaimanapun, tujuan skrin Query dalam apl adalah untuk menyokong carian melalui semua jadual ini. Jumlah data dalam jadual ini mungkin meningkat dengan cepat, jadi Mazlina, Kiana, dan Preeti memutuskan untuk menggunakan Carian Kognitif Azure untuk menyokong ciri ini. Aplikasi boleh menghantar pertanyaan dan menerima keputusan daripada Carian Kognitif Azure melalui penyambung tersuai.

Carian Kognitif Azure amat berfungsi jika data yang hendak dicari terkandung dalam entiti pangkalan data tunggal. Kiana mencipta paparan dalam pangkalan data KnowledgeDB yang mempersembahkan pandangan bersatu bagi Tips, BoilerParts dan dan a47> berikut:

  1. Dalam portal Azure, pergi ke halaman Pangkalan Data SQL KnowledgeDB .

  2. Pada anak tetingkap kiri, pilih Editor Pertanyaan dan log masuk ke pangkalan data sebagai sqladmin, menggunakan kata laluan Pa55w.rd.

    Daftar masuk ke Pangkalan Data SQL Azure.

  3. Dalam tetingkap pertanyaan, masukkan pernyataan berikut, dan kemudian pilih Jalankan.

    CREATE OR ALTER VIEW [dbo].[Knowledge] AS
    SELECT T.Id, T.Subject, T.Body, B.Name, B.Overview
    FROM [dbo].[Tips] T INNER JOIN [dbo].[BoilerParts] B
    ON B.Id=T.KnowledgeBaseBoilerPartId
    

    Cipta pandangan

    Sahkan bahawa paparan, Pengetahuan, telah berjaya dibuat.

  4. Pada anak tetingkap kiri, pilih Rentetan sambungan. Catatkan ADO.NET rentetan sambungan; anda memerlukannya apabila anda mengkonfigurasi Carian Kognitif Azure.

    Rentetan sambungan ADO.NET untuk pangkalan data KnowledgeDB.

Bekerja dengan Kiana, Preeti mengkonfigurasi contoh baharu perkhidmatan Carian Kognitif Azure untuk melakukan carian pada baris dalam paparan Pengetahuan , seperti berikut:

  1. Pada halaman Home , dalam portal Azure, pilih + Create a resource , masukkan Azure Cognitive Search , pilih Enter , kemudian> pilih Buat .

    Cipta perkhidmatan Carian Kognitif Azure.

  2. Pada halaman Perkhidmatan Carian Baharu , masukkan tetapan berikut, kemudian pilih Semak + cipta:

    • Langganan: Pilih langganan Azure anda
    • Kumpulan sumber: webapi_rg
    • Nama perkhidmatan: Masukkan nama unik untuk perkhidmatan
    • Nama lokasi: Pilih rantau terdekat anda
    • Peringkat harga: Percuma
  3. Pada halaman pengesahan, pilih Buat dan tunggu sementara perkhidmatan disediakan.

  4. Pergi ke halaman untuk perkhidmatan carian baharu, pilih Ikhtisar, catatkan Url (anda akan memerlukannya kemudian apabila anda mencipta penyambung tersuai untuk Power Apps), dan kemudian pilih Data94>

    Carian halaman Gambaran Keseluruhan Perkhidmatan.

  5. Pada halaman Import data , dalam kotak senarai lungsur turun Sumber Data , pilih Pangkalan Data SQL Azure.

    Pilih Pangkalan Data SQL Azure.

  6. Pada halaman Sambung ke data anda , nyatakan tetapan berikut:

    • Sumber Data: Pangkalan Data SQL Azure
    • Nama sumber data: pangkalan pengetahuan
    • Rentetan sambungan: Masukkan rentetan sambungan Pangkalan Data Azure SQL untuk pangkalan data KnowledgDB yang anda rakamkan sebelum ini; dalam rentetan ini, pastikan anda menetapkan kata laluan kepada Pa55w.rd
    • Biarkan medan Id Pengguna dan Kata Laluan pada nilai lalainya; item ini diambil daripada rentetan sambungan
  7. Pilih Uji sambungan. Pastikan ujian itu berjaya, pilih [Pengetahuan] dalam kotak senarai juntai bawah/Table/View , dan kemudian pilih Seterusnya: Tambah kemahiran kognitif (Pilihan).

    Tetapkan pandangan carian.

  8. Pada halaman Tambah kemahiran kognitif (Pilihan) , pilih Langkau ke: Sesuaikan indeks sasaran.

  9. Pada halaman Sesuaikan indeks sasaran , pilih Boleh diperoleh semula untuk semua lajur, dan Boleh dicari untuk Subjek, Badan, Nama dan dan Pilih Seterusnya: Buat pengindeks.

    Sesuaikan indeks sasaran.

  10. Pada halaman Buat pengindeks , tukar pengindeks Nama kepada pengindeks pangkalan pengetahuan. Untuk Jadual, pilih Setiap Jam, tetapkan lajur tera air tinggi kepada Id, dan kemudian pilih Serah:

    Cipta pengindeks.

  11. Untuk menguji pengindeks, pada halaman Ikhtisar untuk perkhidmatan carian, pilih Penjelajah Carian:

    Pilih Cari peneroka.

  12. Dalam medan Queryrente , masukkan perkataan untuk dicari dalam pangkalan pengetahuan dan kemudian pilih Cari. Perkhidmatan carian harus menjana senarai dokumen dengan padanan dalam Subjek, Badan, Nama atau Ikhtisar dan paparkan medan itu. anak tetingkap Hasil . Catat URL Permintaan dan sampel Hasil; anda akan memerlukan item ini kemudian sebagai contoh permintaan dan respons apabila anda menyediakan Power Apps penyambung tersuai.

    Hasil permintaan carian.

Mencipta penyambung tersuai untuk perkhidmatan Carian Kognitif Azure

Kiana kini boleh mencipta penyambung tersuai yang Power Apps gunakan untuk menghantar permintaan carian ke perkhidmatan carian. Kiana melakukan ini menggunakan Power Apps Studio, seperti berikut:

  1. Log masuk ke. Power Apps

  2. Pada anak tetingkap kiri, kembangkan Data dan pilihPenyambung Tersuai . Pada anak tetingkap kanan, pilih + Penyambung tersuai baharu dan kemudian pilih Buat daripada kosong:

    Penyambung tersuai baharu.

  3. Dalam dialog Buat daripada kosong, tetapkan nama penyambung baharu kepada VanArsdelKBConnector dan kemudian pilih Teruskan:

    Cipta penyambung pangkalan pengetahuan.

  4. Pada halaman Maklumat Am, masukkan perihalan dan tetapkan Skim kepada HTTPS. Dalam kotak Hos, masukkan URL untuk perkhidmatan carian anda (anda mencatatkan URL ini sebelum ini), tetapi tanpa https:// awalan dan kemudian pilih Keselamatan.

    Cari halaman Umum penyambung perkhidmatan.

  5. Pada halaman Keselamatan , dalam kotak senarai juntai bawah Pengesahan , pilih Kunci API. Dalam medan label Parameter, masukkan api-key. Dalam medan Nama parameter, masukkan api-key. Pilih Definisi.

    Cari halaman Keselamatan penyambung perkhidmatan.

  6. Pada halaman Definisi , pilih Tindakan baharu. Dalam medan Ringkasan , masukkan Pertanyaan. Dalam medan Perihalan , masukkan Tanya pangkalan pengetahuan. Dalam medan ID Operasi, masukkan Pertanyaan. Di bawah Permintaan, pilih + Import daripada sampel.

    Cari halaman Takrifan penyambung perkhidmatan.

  7. Dalam dialog Import daripada sampel , masukkan nilai berikut, dan kemudian pilih Import:

    • Kata kerja: DAPATKAN
    • URL: Berikan URL permintaan contoh yang anda tulis apabila anda menguji perkhidmatan carian dalam peneroka carian lebih awal
    • Pengepala: Jenis kandungan

    Import takrifan daripada permintaan sampel.

  8. Kembali pada halaman Definisi , tatal ke bawah ke bahagian Pertanyaan , pilih butang elipsis di sebelah carian, dan kemudian pilihEdit .

    Edit takrifan permintaan carian.

  9. Pada skrin edit, dalam bahagian Parameter , dalam medan Nilai lalai, masukkan tanda bintang (*). Biarkan medan lain pada nilai lalainya, dan kemudian pilih Kembali.

    Tetapkan nilai lalai carian.

  10. Pada halaman Definisi , dalam bahagian Pertanyaan , pilih butang elipsis di sebelah api-version, dan kemudian pilih Edit.

    Edit versi API.

  11. Pada skrin edit, dalam bahagian Parameter , dalam medan Nilai lalai, masukkan 2020-06-30-Pratonton (ini ialah versi yang dikaitkan dengan versi semasa Azure Cognitive Search; anda boleh melihat versi dalam URL permintaan yang anda nyatakan sebelum ini). Tetapkan Diperlukan kepada Ya, dan tetapkan Kebolehlihatan kepada dalaman . Biarkan medan lain pada nilai lalainya, dan kemudian pilih Kembali.

    Tetapkan nilai API untuk parameter carian.

  12. Pada halaman Definisi , tatal ke bawah ke bahagian Respons dan pilih + Tambah respons lalai.

    Tambah takrifan respons lalai. ]

  13. Dalam dialog Import daripada sampel , dalam medan Pengepala , masukkan teks Jenis kandungan. Dalam medan Isi , masukkan contoh hasil carian yang anda rakam semasa menguji perkhidmatan carian dan kemudian pilih Import.

    Import mesej respons daripada sampel.

  14. Pada halaman Definisi , pilih respons lalai .

    Pilih respons lalai.

  15. Dalam medan Perihalan respons jenis kandungan, masukkan application/json , dan kemudian pilih Kembali .

    Tetapkan kandungan pengepala mesej respons.

    Nota

    Bahagian Isi pada halaman ini hendaklah memaparkan medan respons, seperti Badan, Id, Nama, Gambaran Keseluruhan dan Subjek jika ia telah berjaya dihuraikan.

  16. Pilih Cipta penyambung.

    Cipta penyambung Carian Kognitif Azure.

Penyambung hendaklah dicipta tanpa melaporkan sebarang ralat atau amaran.

Mengemas kini aplikasi untuk menggunakan Carian Kognitif Azure: Knowledgebase Medan

Mazlina kini boleh menggunakan penyambung tersuai dalam aplikasi. Tetapi pertama, kunci diperlukan yang memberikan Maria keistimewaan yang diperlukan untuk menyambung ke perkhidmatan Azure Cognitive Search. Preeti memperoleh kunci daripada halaman Kunci untuk perkhidmatan dalam portal Microsoft Azure dan memberikannya kepada Maria.

Kunci Perkhidmatan Carian dalam portal Azure.

Mazlina mengedit aplikasi dalam Power Apps Studio dan melakukan tugas berikut:

  1. Buka apl VanArsdelApp untuk mengedit.

  2. Pada menu Pandangan , pilih Sumber data dan kemudian pilihTambah data.

    Tambah sumber data pada aplikasi.

  3. Dalam kotak Carian , di bawah Pilih sumber data, masukkan Van. Penyambung VanArdelKBConnector hendaklah disenaraikan.

    Cari penyambung Carian Kognitif Azure.

  4. Pilih penyambung VanArdelKBConnector . Dalam anak tetingkap VanArdelKBConnector , masukkan kunci yang disediakan oleh Preeti untuk perkhidmatan carian, dan kemudian pilih Sambung.

    Masukkan API kunci.

  5. Pada menu Fail , simpan dan tutup apl, dan kemudian bukanya semula. Anda mungkin akan digesa untuk membenarkan penggunaan penyambung tersuai apabila aplikasi dibuka semula.

    Nota

    Langkah ini perlu untuk mendayakan penyambung tersuai.

  6. Pada anak tetingkap Pandangan pokok, kembangkan skrin Pangkalan Pengetahuan dan pilih kawalan TextSearchBox2 . Masukkan formula berikut untuk tindakan OnChange .

    If(!IsBlank(TextSearchBox2.Text), ClearCollect(azResult, VanArsdelKBConnector.Query({search: TextSearchBox2.Text}).value))
    

    Formula ini memanggil operasi Pertanyaan penyambung tersuai yang mencari item yang sepadan dengan istilah yang ditaip pengguna ke dalam kotak carian. Hasil disimpan dalam koleksi bernama azResult.

  7. Pada anak tetingkap pandangan pokok, di bawah skrin Pangkalan Pengetahuan , pilih kawalan BrowseGallery2 . Tetapkan sifat Item kepada azResult.

  8. Kembangkan kawalan BrowseGallery2 dan alih keluar kawalan Image4 .

  9. Pilih kawalan Tajuk2 . Tetapkan sifat berikut:

    • Teks: ThisItem.Subject
    • X: 24
    • Lebar: Parent.TemplateWidth - 104
  10. Pilih kawalan Subtitle2 . Tetapkan sifat Text kepada ThisItem.Body.

  11. Pilih F5 untuk pratonton apl. Pada skrin Pangkalan Pengetahuan, masukkan istilah carian, dan kemudian pilih Enter. Artikel yang sepadan dariapda pangkalan pengetahuan hendaklah dipaparkan.

    Pernyataan knowledgebase dalam aplikasi.

    Nota

    Skrin butiran belum dibuat lagi, jadi memilih > ikon di sebelah artikel tidak berfungsi.

  12. Tutup tetingkap pratonton dan kembali ke Power Apps Studio.

  13. Pada anak tetingkap pandangan pokok, klik kanan pada skrin PartDetails dan pilih Skrin pendua. Tindakan ini akan menambah skrin lain pada apl, bernama PartDetails_1.

    Duplikasikan skrin PartDetails.

  14. Pada anak tetingkap Pandangan pokok, namakan semula skrin PartDetails_1 sebagai KnowledgebaseDetails.

    Pilih kawalan LblAppNameX pada skrin; tetapkan sifat Teks kepada "Butiran Artikel" (termasuk petikan).

  15. Pada anak tetingkap Paparan pokok, pilih kawalan DetailFormX pada skrin. Tetapkan sifat berikut:

    • Sumber Data: azResult
    • Item: **Semak LaluGallery2.Dipilih**

    Nota

    BrowseGallery2 ialah galeri semak imbas pada skrin Pangkalan Pengetahuan. Dalam aplikasi anda, galeri ini mungkin mempunyai nama yang berbeza.

  16. Pada anak tetingkap Pandangan pokok, kembangkan borang DetailFormX , kemudian tukar nama kawalan kad data berikut:

    • Name_DataCard1_1: Name_DataCard
    • CategoryID_DataCard1_1: Subject_DataCard
    • Overview_DataCard1_1: Overview_DataCard
    • Price_DataCard1_1: Body_DataCard
  17. Padamkan kawalan NumberInStock_DataCard1_1 dan Image_DataCard1_1 .

  18. Pilih kawalan Name_DataCard . Tetapkan sifat Lalai kepada ThisItem.Name.

  19. Pilih kawalan Subject_DataCard . Tetapkan sifat berikut:

    • DataField: "Subjek"
    • Nama Paparan: "Subjek"
    • Lalai: ThisItem.Subject
  20. Pilih kawalan Overview_DataCard . Setkan sifat Lalai kepada ThisItem.Overview.

  21. Pilih kawalan Body_DataCard . Tetapkan sifat berikut:

    • DataField: "Badan"
    • Nama Paparan: "Badan"
    • Lalai: ThisItem.Body
  22. Pilih kawalan DataCardValueX dalam kawalan Body_DataCard . Tetapkan sifat Teks kepada Parent.Default.

  23. Ubah saiz setiap kawalan kad data untuk menyebarkannya hingga ke bawah skrin.

    Skrin ArticleDetails.

  24. Pilih anak panah kembali dalam pengepala skrin. Tukar sifat tindakan OnSelect kepada Navigate(Knowledgebase, ScreenTransition.None).

  25. Pada anak tetingkap Pandangan pokok, pilih skrin Pangkalan Pengetahuan dan kemudian pilih kawalan BrowseGalleryX . Tukar sifat tindakan OnSelect kepada Navigate(KnowledgebaseDetails, ScreenTransition.None). Tindakan ini memaparkan skrin butiran untuk artikel pangkalan pengetahuan apabila pengguna memilih > ikon untuk entri dalam skrin penyemak imbas.

  26. Simpan aplikasi.

  27. Pilih F5 untuk pratonton apl. Pada skrin Pangkalan Pengetahuan, masukkan istilah carian, dan kemudian pilih Enter. Pilih artikel dan sahkan bahawa butiran dipaparkan. Sahkan bahawa ikon Kembali mengembalikan pengguna ke skrin penyemak imbas.

  28. Tutup tetingkap pratonton dan kembali ke Power Apps Studio.

Mazlina, Kiana dan Preeti telah berjaya menggabungkan API Web dan Carian Kognitif Azure ke dalam aplikasi.