Peatükk 6: Veebi API kasutamine rakenduses

Mati ja Kiana on valmis rakendust veebi API-ga ühendama. Enne jätkamist otsustasid nad siiski konsulteerida IT-juhi Preeti'ga.

Veebi API IT-toimingute haldusnõuete mõistmine

Preeti on huvitatud sellest, et rakendus ja veebi API peavad olema turvalised, kuna need pakuvad juurdepääsu erinevates andmebaasides talletatud tundliku loomuga andmetele. Preeti soovib kinnitust, et autentimine ja autoriseerimine lisatakse, et vältida põhjendamatut juurdepääsu teabele. Preeti on samuti kursis sellega, et ettevõte laieneb kiiresti ning klientide, kohtumiste, osade ja teabebaasi haldamisega seotud andmete maht suureneb tõenäoliselt juba lähiajal. Järelikult peab lahendus olema skaleeritav.

Kiana selgitas Preetile, et veebi API on praegu Azure App Service'i abil kasutusele võetud. See teenus toetab mitmeid autentimisteenuse pakkujaid, mida Preeti saab Azure'i portaali abil konfigureerida. Preeti on eriti huvitatud ID-st Microsoft Entra , sest VanArsdel soovib lähitulevikus selle autentimisviisi kasutusele võtta paljudes oma teistes ettevõtte süsteemides.

Rakenduseteenuse autentimiskonfiguratsioon.

Rakendusteenus pakub ka horisontaalset ja vertikaalset skaleeritavust. Vajadusel saab Preeti skaleerida veebi API-le saadaolevaid ressursse, täiendades veebirakenduse App Service plaani.

Rakenduseteenuse skaleerimine.

Preeti saab korraldada ka süsteemi skaleerimise, konfigureerides automaatse skaleerimise. App Service võimaldab juhil määratleda automaatsed reeglid, mis määratlevad tingimused, mille korral süsteem peaks koormuse suurendamisel või uuesti nõudmisel tagasi skaleerimine üle mitme eksemplari. Preeti saab seadistada ka ennetava automaatse skaleerimise vastavalt ajakavale:

Rakenduseteenuse skaleerimine.

IT-juhi rolli olulisim osa on hoida silma peal süsteemide muutumisel ja tagada, et aluseks olevad tugistruktuurid tegelevad edasiste muudatustega. Preeti teab, et Kiana välja töötatud veebi API-d võidakse tulevikus laiendada ja teistes VanArsdeli süsteemides uuesti kasutada. Preeti peab suutma hallata ja kontrollida, kuidas arendajad taotlevad Web API kasutamist, kaitsma seda väärtusliku ressursina ja jälgima selle kasutamist. Seetõttu otsustab Preeti kaitsta Azure'i API halduse teenuse taga asuvat veebi API-t.

API Management annab veebi API-le lisaturbekihi ning võimaldab üksikasjalikku jälgimist ja kontrolli selle üle, millistele toimingutele kliendid juurde pääsevad. API Management abil saab Preeti hallata ressursikasutust ja mõjutada madala tähtsusega klientide toimivust, et tagada kõrgema tähtsusega rakenduste kiire teenindus.

Lisateavet API halduse pakutavate teenuste kohta leiate teemast API haldusest.

API Management teenuse loomine

Preeti lõi API Management teenuse Azure'i portaali kaudu, kasutades järgmisi samme.

  1. Logis sisse Azure'i portaali ja Avalehel suvand Ressursi loomine.

    Azure'i portaali avaleht.

  2. Sisestage tekstiväljale Turuplatsi otsing API Management ja seejärel valige sisestusklahv Enter.

  3. Valige API Management lehel käsk Loo.

    Azure Create API Management Service leht.

  4. Sisestage lehel Loo API Management järgmised väärtused ja seejärel valige Ülevaatus + loomine.

    • Tellimus: valige oma tellimus
    • Ressursirühm: webapi_rg (see on sama ressursirühm, mille te App Service jaoks lõite)
    • Piirkond: valige lähim piirkond
    • Ressursi nimi; sisestage teenuse kordumatu nimi
    • Organisatsiooni nimi: VanArsdel
    • Administraatori meiliaadress: itadmin@vanarsdel.com
    • Hinnakujunduskiht: arendaja (ilma SLA-ta)

    Märkus

    Ärge kasutage Arendaja hinnakujunduskihti tootmises.

    Uus API Management Service leht.

  5. Valige valideerimislehel Loo ja oodake, kuni API Management teenus on loodud.

    Märkus

    API Management teenuse ettevalmistamine võib võtta rohkem kui 30 minutit, olge kannatlik.

Veebi API avaldamine API Management kaudu

Pärast API haldusteenuse loomist avaldas Preeti Web API, et muuta see kättesaadavaks teistele teenustele ja rakendustele, kasutades järgmisi samme:

  1. Minge Azure'i portaalis API Management teenusesse.

  2. Valige API Management teenuse lehel vasakus paanis API-de all oleval vasakpoolsel paanil APId.

    API Management Service leht. API-de valimine.

  3. Uue API lisamise paanil valige OpenAPI:

    API Management Service leht. Valige OpenAPI.

  4. Sisestage dialoogis Loo OpenAPI järgmised väärtused ja seejärel valige Loo:

    • OpenAPI määratlus: https://<webapp name>.azurewebsites.net/swagger/v1/swagger.json, kus <webapp name> on teie veebi API Service majutav veebi API nimi
    • Kuva nimi: Objekti inseneri API
    • Nimi: field-engineer-api
    • API URL-i järelliide: jätke tühjaks
    • Peamine URL: vaikimisi URL

    API loomine OpenAPI määratlusega.

  5. Kui välja inseneri API on loodud, valige API vahekaart Sätted, määrake veebiteenuse URL väärtuseks https://<webapp name>.azurewebsites.net ja valige Salvesta.

    API sätete konfigureerimine.

  6. Valige vahekaardil Test GET api/Appointments URI ja seejärel valige Saada.

    GetAppointments API testimine.

  7. Kontrollige, kas päring õnnestub (HTTP-vastuse kood on 200 OK) ja tagastab vastuse kehas kohtumiste loendit sisaldava tulemuse.

    GetAppointments API testimise vastus.

Rakenduses ühenduse loomine API Managementiga

Kiana ja Maria saavad nüüd koos Power Apps abil loodud rakenduse API Management teenuse kaudu veebi API-ga ühendada.

Esimeseks ülesandeks on luua kohandatud konnektor, mida rakendus kasutab API Management teenusega suhtlemiseks. See hõlmab API eksportimist rakenduse loomiseks kasutatavasse keskkonda Power Apps, mida Kiana teeb järgmiselt:

  1. Azure'i portaalis läks Preeti loodud API Management teenuse lehele.

  2. Valige vasakpoolsel paanil API-d jaotises API-d.

  3. Valige Objekti inseneri API kolmiknupp seejärel klõpsake nuppu Ekspordi.

    Veebi API eksportimine.

  4. Valige paanil API eksportimine Power Apps ja Power Automate.

    Veebi API eksportimine rakendusse Power Apps.

  5. Valige paanil Ekpordi API rakendusse PowerApps, valige Power Apps keskkond, milles lõite soovitud prototüüprakenduse (Maria järgmisel joonisel) ja seejärel valige Ekspordi.

    Ekspordi Maria Power Apps keskkonda.

  6. Pärast API eksportimist valige Objekti inseneri API. Liikuge lehel Sätted jaotiseni Kordustellimused, tühjendage Nõutav kordustellimus ja seejärel valige Salvesta.

    Tühista nõutav kordustellimus.

Prototüüprakendus kasutas andmeallikate jaoks Exceli töövihikuid. Nüüd, kui veebi API kohandatud konnektor on saadaval, teeb Maria selle lisamiseks rakendusse järgmised toimingud:

  1. Logige sisse saidil Power Apps.

  2. Laiendage vasakul paanil jaotist Andmed ja valige suvand Kohandatud konnektorid. Loendis peab olema toodud field-engineer-api kohandatud konnektor. Valige Loo ühendus.

    Uue kohandatud konnektori loomine.

  3. Valige dialoogis field-engineer-api suvand Loo.

    Looge FieldEngineerAPI konnektor.

  4. Kui ühendus on loodud, kontrollige, et see kuvatakse saadaval ühenduste loendis.

    Kuva saadaolevad ühendused.

  5. Valige vasakpoolsel paanil Rakendused, seejärel VanArsdelApp ja Redigeeri.

    VanArsdel rakenduse redigeerimine.

  6. Valige vasakpoolsel paanil vahekaart Andmed. Valige suvand Lisa andmed, valige konnektorite kolmikpunkt ja seejärel valige Värskenda.

    Andmealilkate värskendamine.

  7. Valige konnektorite loendist field-engineer-api konnektor.

    Konnektorite kuvamine.

  8. Valige field-engineer-api dialoogis konnektor field-engineer-api.

    FieldEngineerAPI konnektori lisamine.

  9. Kontrollige andmepaanil, kas konnektor FieldEdineerApi on loendis.

    FieldEngineerAPI konnektor lisatud.

Rakenduse värskendamine konnektori kasutamiseks: objekti varude haldus

Nüüd, kui ühendus on rakendusse lisatud, saab Maria ekraane muuta, et seda Exceli töövihikute asendamiseks kasutada. See hõlmab iga ekraani metoodilist ettevalmistamist ja andmeallika muutmist. Muid muudatusi ei tohiks vaja olla. Maria alustab ekraanidega BrowseParts ja PartDetails järgmiselt:

  1. Valige rakenduse avakuvalnupp Varuosad. Määrake atribuut OnSelect toimingu jaoks järgmine valem.

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

    Funktsioon ClearCollect loob uue kogumi nimega partsCollection ja täiendab need andmetega, mis on saadud toimingu getboilerparts kutsumisel ühenduse FieldEngineerAPI kaudu.

    partsCollection muutuja loomine.

    Märkus

    Hea tava on hankida andmed kogusse ja viidata sellele kogu ekraanilt, mis teavet vajab. See lähenemine võib säästa erinevaid ekraane korduva sama päringu käivitamise ja samade andmete toomise eest.

  2. Rakenduse eelvaateks vajutage F5.

  3. Valige Avakuval suvand Varuosad. Selle toiminguga luuakse partsCollection kogumik. Sulgege eelvaateaken ja naaske siis tagasi rakendusse Power Apps Studio.

    Märkus

    Selle etapi eesmärk on lubada teil kuva BrowseParts redigeerimisel andmeid vaadata järgmistes toimingutes.

  4. Valige kuval BrowseParts juhtelement BrowseGallery1. Asendage atribuudi Üksused valem viitega [@Table1] andmeallikagapartsCollection.

    Selle muudatuse tulemuseks on mõned vead. Selle probleemi lahendamiseks kasutatakse algses Exceli töövihikus suurtähti (Nimi, CategoryID ja Ülevaade) väljanimedes, samas kui Web API vastuse kehas tagastatud atribuutide nimed on väikese algustähega. Muutke neid viiteid, et kasutada väiketähti. Valem peaks välja nägema järgmine.

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

    Kuva sirvimise valemi värskendamine.

  5. Puuvaatepaanil valige juhtelement IconRefresh1. Muutke toimingut OnSelect valemiks ClearCollect(partsCollection, FieldEngineerAPI.getapiboilerparts()).

    Märkus

    Selle toimingu algne valem kutsub värskendamisfunktsiooni andmeid uuesti kasutama, kasutades algse andmeallika ühendust. Värskendamise funktsiooni ei saa kasutada ühenduse puhul, mis käivitab andmete toomiseks funktsiooni, seega ei tööta see funktsiooniga FieldEngineerApi.getapiboilerparts(). Selles sammus toodud lahendus täidab kogumiku partsCollection uuesti värskeimate andmetega.

  6. Laiendage puuvaate paanil juhtelementi BrowseGallery1 ja valige juhtelement Body1. Seadke atribuudi Tekst väärtuseks ThisItem.overview.

  7. Puuvaatepaanil valige juhtelement Subtitle1. Seadke atribuudi Tekst väärtuseks ThisItem.categoryId.

  8. Puuvaatepaanil valige juhtelement Pealkiri. Seadke atribuudi Tekst väärtuseks ThisItem.name.

  9. Valige puuvaate paanil juhtelement DetailForm1 kuval PartDetails. Muutke atribuut Andmeallikas väärtusest [@Table1] väärtuseks partsCollection.

  10. Puuvaate paanil valige juhtelement Name_DataCard1 DetailForm1 alt. Seadke atribuudi Vaikimisi väärtuseks ThisItem.name.

    Nime andmekaardi vaikeväärtuse muutmine.

  11. Muutke juhtelemendi CategoryID_DataCard1 atribuudi Vaikimisi väärtuseks ThisItem.categoryId.

  12. Muutke juhtelemendi Overview_DataCard1 atribuudi Vaikimisi väärtuseks ThisItem.overview.

  13. Muutke juhtelemendi Price_DataCard1 atribuudi Vaikimisi väärtuseks ThisItem.price.

  14. Muutke juhtelemendi NumberInStock_DataCard1 atribuudi Vaikimisi väärtuseks ThisItem.numberInStock.

  15. Muutke juhtelemendi Image_DataCard1 atribuudi Vaikimisi väärtuseks ThisItem.imageUrl.

  16. Vasakpoolse paani vahekaardi Andmed paremklõpsake andmeühendusel Table1 ja valige käsk Eemalda, et see rakendusest kustutada. See ühendus pole enam vajalik.

    Table1 ühenduse eemaldamine.

  17. Salvestage rakendus.

    Märkus

    Saate rakenduse kiiresti salvestada ilma menüüd Fail klõpsamata, valides klahvikombinatsiooni Ctrl+S.

  18. Rakenduse eelvaateks vajutage F5. Kuvad Sirvi varuosi ja Varuosa üksikasjad peaksid töötama täpselt nagu varem, välja arvatud seekord, kui nad laadivad andmeid InventoryDB Azure'i SQL-i andmebaasist veebi API kaudu, aga mitte kohalikust Exceli failist.

  19. Sulgege eelvaateaken ja naaske siis tagasi rakendusse Power Apps Studio.

Rakenduse värskendamine konnektori kasutamiseks: objekti plaanimine ja märkused

Maria jätkab kuvadega BrowseAppointments, AppointmentDetails ja EditAppointment. Nende kuvade esitatud andmed pärinevad praegu mõne muu Exceli töövihiku kohtumiste tabelist.

  1. Rakenduse Avakuval määrake OnVisible toimingule järgmine valem.

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

    See valem tagastab kohtumiste andmed kohtumiste kogumisse appointmentsCollection. Kohtumised filtreeritakse praegusel kuupäeval või hiljem kavandatud külastuste hankimiseks.

  2. Valige sildi juhtelement, mis kuvab järgmise kohtumise kellaaja. Määrake atribuudi Tekst väärtuseks Text(First(appointmentsCollection).startDateTime, ShortTime24).

  3. Valige sildi juhtelement, mis kuvab järgmise kohtumise kuupäev. Määrake atribuudi Tekst väärtuseks Text(First(appointmentsCollection).startDateTime, LongDate).

  4. Valige sildi juhtelement, mis kuvab järgmise kohtumise kliendi nime. Määrake atribuudi Tekst väärtuseks First(appointmentsCollection).customer.name.

  5. Rakenduse eelvaateks vajutage F5. Valige Avakuval suvand Kohtumised. Selle toiminguga luuakse appointentsCollection kogumik. Sulgege eelvaateaken ja naaske siis tagasi rakendusse Power Apps Studio.

  6. Valige puuvaate paanil juhtelement BrowseAppointmentsGallery kuval BrowseAppointments. Muutke atribuudi Üksused valem järgmiselt.

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

    See valem filtreerib ekraanil kuvatavaid andmeid kliendi nime järgi, võimaldades kasutajal sisestada kliendi nimi. Kohtumised kuvatakse kuupäeva- ja kellaajajärjestuses.

  7. Laiendage puuvaate paanil juhtelementi BrowseAppointmentsGallery ja valige juhtelement Title1_. Seadke atribuudi Tekst väärtuseks järgmine.

    Text(ThisItem.startDateTime, LongDate)
    

    Selles valemis kuvatakse kohtumise välja startDateTime kuupäeva osa.

  8. Laiendage puuvaate paanil juhtelementi BrowseAppointmentsGallery ja valige juhtelement Subtitle1_. Seadke atribuudi Tekst väärtuseks järgmine.

    Text(ThisItem.startDateTime, ShortTime24)
    

Selles valemis kuvatakse välja startDateTime ajaelement.

  1. Laiendage puuvaate paanil juhtelementi BrowseAppointmentsGallery ja valige juhtelement Body1_. Seadke atribuudi Tekst väärtuseks järgmine.

    ThisItem.customer.name
    
  2. Valige puuvaate paanil juhtelement IconRefresh1_1 kuval BrowseAppointments. Määrake OnSelect toimingu jaoks järgmine valem.

    ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime));
    
  3. Laiendage puuvaate paanil laiendage kuva AppointmentDetails ja valige juhtelement DetailForm1_1. Seadke atribuut Andmeallikas väärtuseks appointmentsCollection.

  4. Puuvaatepaanil valige juhtelement IconEdit1. Atribuudis DisplayMode asuvat valemit saate muuta, et testida kogumikku appoinmentsCollection.

    If(DataSourceInfo(**appointmentsCollection**, DataSourceInfo.EditPermission), DisplayMode.Edit, DisplayMode.Disabled)
    
  5. Laiendage puuvaate paanil laiendage kuva DetailForma1_1 ja valige juhtelement Kliendi nimi_DataCard1. Seadke atribuudi Vaikimisi väärtuseks ThisItem.customer.name.

  6. Muutke ülejäänud andmekaartide vaikimisi atribuute järgmiselt.

    • Kliendi aadress_DataCard1: ThisItem.customer.address
    • Kontakti number_DataCard1: ThisItem.customer.contactNumber
    • Probleemi üksikasjad_DataCard1: ThisItem.problemDetails
    • Olek_DataCard1: ThisItem.appointmentStatus.statusName
    • Märkused_DataCard1: ThisItem.notes
    • PIlt_DataCard1_1: ThisItem.imageUrl
  7. Laiendage puuvaate paanil laiendage kuva EditAppointments ja valige juhtelement EditForm1. Seadke atribuut Andmeallikas väärtuseks appointmentsCollection.

  8. Laiendage puuvaate paanil juhtelementi EditForm1 ja valige juhtelement Kliendi nimi_DataCard3. Seadke atribuudi Vaikimisi väärtuseks ThisItem.customer.name.

  9. Muutke ülejäänud andmekaartide vaikimisi atribuute järgmiselt.

  • Kontakti number_DataCard2: ThisItem.customer.contactNumber. Lisaks muutke atribuudi MaxLength väärtuseks 20
  • Probleemi üksikasjad_DataCard2: ThisItem.problemDetails
  • Olek_DataCard5: ThisItem.appointmentStatus.statusName
  • Märkused_DataCard3: ThisItem.notes
  • Pilt_DataCard2: ThisItem.imageUrl
  1. Laiendage puuvaate paanil juhtelementi juhtelementi Probleemi üksikasjad_Card2. Nimetage selle juhtelemendi all välja DataCardValueX (X on number) ümber nimeks ProblemDetailsValue. Korrake seda toimingut järgmiste andmekaartide juhtelementide DataCardValueX puhul.

    • Olek_DataCard5: StatusValue
    • Märked_DataCard3: NotesValue

    Märkus

    Pildi juhtelementi käsitletakse järgmises peatükis.

  2. Valige väärtus ProblemDetailsValue ja määrake atribuudi MaxLength väärtuseks 100.

  3. Valige puuvaate paanil juhtelement IconAccept1 ja valige kuva EditAppointment. Määrake atribuut OnSelect toimingu jaoks järgmine valem.

    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);
    

    See valem kutsub toimingu PUT veebi API-s olevale kohtumiste kontrollerile. Esimese parameetrina edastatakse praeguse kohtumise ID, millele järgnevad üksikasjad, mida kasutaja võib ekraanil muuta. Üksikasjad edastatakse JSON-objektina. Eemalda, Määra ja kogu avaldused värskendavad kogumeid appointmentsCollectionandmebaasi salvestatud andmetega.

    Märkus

    Ärge kasutage funktsiooni ClearCollect kogu sisu kustutamiseks ja värskendamiseks näiteks sellistes olukordades, nagu praegune, kuna see oleks asjatu, kui—näiteks—ainult üks kirje on muutunud.

  4. Valige puuvaate paanil juhtelement IconAccept1 ja valige kuva EditAppointment. Määrake atribuut OnSelect toimingu jaoks järgmine.

    ResetForm(EditForm1);
    
    Navigate(AppointmentDetails, ScreenTransition.None);
    
  5. Vasakpoolse paani vahekaardi Andmed paremklõpsake andmeühendusel Kohtumsied ja valige käsk Eemalda, et see rakendusest kustutada.

  6. Salvestage rakendus.

  7. Rakenduse eelvaateks vajutage F5. Minge avakuval kuvale Kohtumised, valige ja redigeerige kohtumine ning seejärel salvestage muudatused. Kontrollige, kas kohtumine oleks värskendatud.

  8. Sulgege eelvaateaken ja naaske siis tagasi rakendusse Power Apps Studio.

Azure'i kognitiivse otsingu teenuse loomine objekti teabebaasi jaoks

Rakenduse teabebaasi kuva ei ole praegu ühegi rakenduse andmeallikas. Veebiliides sisaldab toimingud KnowledgeDB andmebaasi tabelite Tips, BoilerParts ja Engineers toimingute pärimiseks ja värskendamiseks. Kuid rakenduse päringukuva eesmärk on toetada otsinguid kõigi nende tabelite kaudu. Andmemaht nendes tabelites suureneb tõenäoliselt kiiresti, nii et Maria, Kiana ja Preeti otsustavad selle funktsiooni toetamiseks juurutada Azure'i kognitiivse otsingu. Rakendus saab kohandatud konnektori kaudu päringuid esitada ja Azure'i kognitiivsest otsingust tulemusi saada.

Azure'i kognitiivset otsingut saab kõige paremini kasutada juhul, kui otsitav teave sisaldub ühes andmebaasi olemis. Kiana loob KnowledgeDB andmebaasis vaate, mis sisaldab tabelite Tips, BoilerParts ja Engineers ühtset vaadet järgmiselt.

  1. Minge Azure'i portaali KnowledgeDB SQL-andmebaasi lehele.

  2. Valige vasakpoolsel paanil Päringuredaktor ja logige andmebaasi sqladminina sisse, kasutades parooli Pa55w.rd.

    Azure SQL-i andmebaasi sisselogimine.

  3. Sisestage päringuaknasse järgmine avaldus ja seejärel valige Käivita.

    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
    

    Vaate "Teadmised" loomine

    Veenduge, et vaade Teadmised oleks edukalt loodud.

  4. Valige vasakpoolsel paanil Ühendusstringid. Pange kirja ADO.NET ühendusstring, mida vajate Azure'i kognitiivse otsingu konfigureerimisel.

    ADO.NET KnowledgeDB andmebaasi ühendusstring.

Kianaga töötades konfigureerib Preeti uue Azure'i kognitiivse otsingu teenuse eksemplari, et teha vaate Teadmus ridadel otsinguid järgmiselt.

  1. Valige Azure'i portaali avalehelt + Loo ressurss, sisestage Azure'i kognitiivne otsing, valige Sisestusklahv (Enter) ja seejärel valige Loo.

    Azure'i kognitiivse otsingu teenuse loomine.

  2. Sisestage lehel Uue otsingu teenus järgmised sätted ja seejärel valige Ülevaatus + loomine.

    • Kordustellimus: valige oma Azure kordustellimus
    • Ressursigrupp: webapi_rg
    • Teenuse nimi; sisestage teenuse kordumatu nimi
    • Piirkonna nimi: valige lähim piirkond
    • Hinnakujunduse kiht: tasuta
  3. Valige valideerimislehel Loo ja oodake, kuni teenus on varustatud.

  4. Minge uue otsinguteenuse lehele, valige Ülevaade, jätke URL meelde (see on vajalik hiljem kohandatud Power Apps konnektori loomisel) ja seejärel valige Impordi andmed.

    Otsinguteenuse ülevaate leht.

  5. Valige lehel Impordi andmedripploendist Andmeallikas Azure'i SQL-andmebaas.

    Valige Azure'i SQL-andmebaas.

  6. Määrake lehel Andmega ühenduse loomine järgmised sätted.

    • Andmeallikas: Azure'i SQL-andmebaas
    • Andmeallika nimi: teadmistebaas
    • Ühendusstring: sisestage Azure'i SQL-andmebaasi ühendusstring varem registreeritud KnowledgDB andmebaasi jaoks. Määrake selles stringis kindlasti parooli väärtuseks Pa55w.rd
    • Jätke väljad Kasutaja ID ja Parool vaikeväärtusele. Need üksused tuuakse ühendusstringist
  7. Valige Testi ühendust. Testi õnnestumise tagamiseks valige ripploendiboksis Tabel/Vaade väärtus [Teadmised] ja seejärel valige Järgmine: kognitiivsete oskuste lisamine (valikuline).

    Otsinguvaate määramine.

  8. Tehke lehel Kognitiivsete oskuste lisamine (valikuline) valik Edasi: sihtregistri indekseerimiseni.

  9. Valige lehel Sihtregistri kohandamine suvand Tagastatav kõigi veergude jaoks ja Otsitav Subjekti, Keha, Nimi ja Ülevaate jaoks. Valige Edasi: registri loomine.

    Sihtregistri kohandamine.

  10. Muutke lehel Loo register, muutke registreerija Nimi väärtuseks teadmistebaasiregistriks. Ajakava jaoks valige Tunnipõhine, määrake Kõrge veemärgi veerg väärtuseks ID ja seejärel valige Edasta.

    Registri loomine.

  11. Indekseerija testimiseks valige otsinguteenuse lehel Ülevaade suvand Otsi failihaldur.

    Valige otsingu haldur.

  12. Sisestage Päringu stringi väljale teabebaasis otsisõna ja seejärel valige Otsi. Otsinguteenus peaks genereerima dokumendiloendi, mille vaste on väljadel Teema, Keha, Nimi või Ülevaade ja kuvama need paanil Tulemused. Tehke märge taotluse URL-i ja näidistulemite kohta, neid üksusi on vaja hiljem Power Apps kohandatud konnektori häälestamisel näidistaotluse ja vastusena.

    Otsingupäringu tulemused.

Azure'i kognitiivse otsingu teenuse kohandatud konnektori loomine

Kiana saab nüüd luua kohandatud konnektori, mida Power Apps kasutab otsinguteenustele otsingupäringute saatmiseks. Kiana teeb seda järgmiselt Power Apps Studio:

  1. Logige sisse saidil Power Apps.

  2. Laiendage vasakul paanil jaotist Andmed ja valige suvand Kohandatud konnektorid. Valige parempoolsel paanil + Uus kohandatud konnektor ja seejärel valige käsk Loo tühjast.

    Uus kohandatud konnektor.

  3. Määrake Loo tühjast dialoogis uus konnektor nimega VanArsdelKBConnector ja seejärel valige Jätka.

    Teabebaasi konnektori loomine.

  4. Sisestage lehel Üldteave kirjeldus ja seadke Skeemi väärtuseks HTTPS. Sisestage väljale Võõrustajad oma otsinguteenuse URL (märkisite selle URL-i varem), kuid ilma https:// eesliideta ja seejärel valige Turvalisus.

    Üldteabe lehe teenusekonnektori otsing.

  5. Valige lehel Turvalisus ripploendist kastist Autentimine ja valige API-klahv. Sisestage väljale Parameetri silt api-key. Sisestage väljale Parameetri nimi api-key. Valige Määratlus.

    Turvalisuse lehe teenusekonnektori otsing.

  6. Valige lehel Määratlus Uus toiming. Sisestage väljale Kokkuvõte Päring. Sisestage väljale Kirjeldus Teabebaasi päring. Sisestage väljale Toimingu ID Päring. Valige jaotises Taotlus väärtus + Impordi näidisfailist.

    Määratluse lehe teenuse konnektori otsing.

  7. Sisestage dialoogis Impordi näidisfailist järgmised väärtused ja seejärel valige Impordi:

    • Verb: GET
    • URL: esitage päringu URL-i näide, mille märkisite, kui testisite otsinguteenust varem otsingumootoris
    • Päised: Content-type

    Impordi määratlus näidispäringust.

  8. Kerige lehel Määratlus tagasi jaotiseni Päring, valige otsingu kõrval kolmikpunkt ja seejärel klõpsake nuppu Redigeeri.

    Otsingupäringu määratluse muutmine.

  9. Sisestage redigeerimiskuval jaotises Parameetrid väljale Vaikeväärtus tärn (*). Jätke muud väljad vaikeväärtustele ja valige siis Tagasi.

    Määra otsingu vaikeväärtus.

  10. Minge lehel Määratlus jaotiseni Päring, valige api-version kõrval kolmikpunkt ja seejärel klõpsake nuppu Redigeeri.

    API versiooni muutmine.

  11. Redigeerimiskuva jaotises Parameetrid sisestage väljale Vaikeväärtus väärtus 2020-06-30-Preview (see on versioon, mis on seostatud Azure'i kognitiivse otsingu praeguse versiooniga; näete versiooni varem märgitud päringu URL-is). Vajalik? väärtuseks seadke Jah ja seadke Nähtavus väärtuseks sisemine. Jätke muud väljad vaikeväärtustele ja valige siis Tagasi.

    API väärtuste määratlemine otsingu parameetrite jaoks.

  12. Liikuge lehel Määratlus jaotisele Vastus ja valige + Lisa vaikevastus.

    Vaikevastuse määratluse lisamine.]

  13. Sisestage dialoogis Impordi näidisest väljale Päised tekst Content-type. Sisestage väljale Keha otsinguteenuse testimisel registreeritud näidistulemid ja seejärel valige Impordi.

    Vastuse sõnumi importimine näidisest.

  14. Valige lehel Määratlus vaikevastus.

    Valige vaikevastus.

  15. Sisestage Content-type vastuse väljaleKirjeldus application/json ja seejärel valige Tagasi.

    Vastuse sõnumi päise sisu määramine.

    Märkus

    Selle lehe jaotises Keha peaks kuvama vastuse väljad (nt Keha, ID, Nimi, Ülevaade ja Teema), kui see on edukalt töödeldud.

  16. Valige Loo konnektor.

    Azure'i kognitiivse otsingu konnektori loomine.

Konnektor ei tohiks luues kuvada vigu või hoiatusi.

Rakenduse värskendamine Azure'i kognitiivse otsingu kasutamiseks: objekti teadmistebaas

Mati saab nüüd kasutada rakenduses kohandatud konnektorit. Kuid kõigepealt on vaja võtit, mis annab Mariale Azure’i kognitiivse otsingu teenusega ühenduse loomiseks vajalikud õigused. Preeti hangib teenuse võtmete lehelt Azure'i portaalis võtmed ja annab selle Mariale.

Azure'i portaali otsinguteenuse võti.

Maria redigeerib rakendust Power Apps Studio ja täidab järgmisi ülesandeid.

  1. Muutmiseks avage rakendus VanArsdelApp.

  2. Valige menüü Vaade käsku Andmeallikad ja seejärel valige Lisa andmed.

    Lisage andmeallikas rakendusse.

  3. Sisestage otsinguväljale jaotises Vali andmeallikas Van. Ilmuma peaks konnektor VanArdelKBConnector.

    Otsige Azure'i kognitiivse otsingu konnektorit.

  4. Valige VanArdelKBConnector konnektor. Sisestage paanile VanArdelKBConnector võti, mille Preeti otsinguteenuse jaoks andis, ja valige seejärel Ühenda.

    Sisestage API võti.

  5. Salvestage ja sulgege rakendus menüü Fail kaudu ning seejärel avage see uuesti. Teil võidakse paluda rakenduse uuesti avamisel lubada kohandatud konnektori kasutamine.

    Märkus

    See etapp on vajalik kohandatud konnektori lubamiseks.

  6. Laiendage puuvaate paanil laiendage kuva Teadmistebaas ja valige juhtelement TextSearchBox2. Sisestage toimingu OnChange jaoks järgmine valem.

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

    See valem kutsub kohandatud konnektori päringu toimingut otsima üksusi, mis vastavad otsinguväljale kasutajatüüpidele. Tulemused talletatakse kogumina nimega azResult.

  7. Puuvaate paanil kuval Teadmistebaas ja valige juhtelement BrowseGallery2. Atribuudi Üksused väärtuseks azResult.

  8. Laiendage juhtelementi BrowseGallery2 ja eemaldage juhtelement Image4.

  9. Valige juhtelement Title2. Määrake järgmised atribuudid.

    • Tekst: ThisItem.Subject
    • X: 24
    • Laius: Parent.TemplateWidth - 104
  10. Valige juhtelement Subtitle2. Seadke atribuudi Tekst väärtuseks ThisItem.Body.

  11. Rakenduse eelvaateks vajutage F5. Sisestage ekraanil Teadmistebaas otsingutermin ja valige seejärel Sisesta. Tuleks kuvada vastavad artiklid teadmistebaasist.

    Teabebaasi päring rakenduses.

    Märkus

    Üksikasjade kuva pole veel loodud, seega artikli kõrval oleva ikooni > valimine ei tööta.

  12. Sulgege eelvaateaken ja naaske siis tagasi rakendusse Power Apps Studio.

  13. Paremklõpsake puuvaate paanil kuva PartDetails ja valige Paljunda kuva. See toiming lisab rakendusele veel ühe kuva nimega PartDetails_1.

    Paljunda kuva PartDetails.

  14. Nimetage puuvaate paanil PartDetails_1 kuva ümber KnowledgebaseDetails.

    Valige ekraanil LblAppNameX juhtelement, määrake atribuudi Tekst väärtuseks "Artikli üksikasjad" (sh hinnapakkumised).

  15. Valige puuvaate paanil kuva juhtelement DetailFormX. Määrake järgmised atribuudid.

    • Andmeallikas: azResult
    • Üksus: Sirvigalerii2.Valitud

    Märkus

    BrowseGallery2on teabebaasikuva sirvimise galerii. Teie rakenduses võib sellel galeriil olla erinev nimi.

  16. Laiendage puuvaate paanil vormi DetailFormX ja muutke seejärel järgmiste andmekaardi juhtelementide nimesid.

    • Name_DataCard1_1: Name_DataCard
    • CategoryID_DataCard1_1: Subject_DataCard
    • Overview_DataCard1_1: Overview_DataCard
    • Price_DataCard1_1: Body_DataCard
  17. Kustutage juhtelemendid NumberInStock_DataCard1_1 ja Image_DataCard1_1.

  18. Valige juhtelement Name_DataCard. Seadke atribuudi Vaikimisi väärtuseks ThisItem.Name.

  19. Valige juhtelement Subject_DataCard. Määrake järgmised atribuudid.

    • DataField: "Subject"
    • DisplayName: "Subject"
    • Vaikimisi: ThisItem.Subject
  20. Valige juhtelement Overview_DataCard. Seadke atribuudi Vaikimisi väärtuseks ThisItem.Overview.

  21. Valige juhtelement Body_DataCard. Määrake järgmised atribuudid.

    • DataField: "Body"
    • DisplayName: "Body"
    • Vaikesäte: ThisItem.Body
  22. Valige juhtelement DataCardValueX juhtelemendis Body_DataCard. Seadke atribuudi Tekst väärtuseks Parent.Default.

  23. Muutke kõigi andmekaardi juhtelementide suurust, et need ekraanil laiali hajutada.

    Kuva ArticleDetails.

  24. Valige kuvapäises tagasinool. Seadke toimingu OnSelect atribuudiks Navigate(Knowledgebase, ScreenTransition.None).

  25. Puuvaate paanil kuval Teadmistebaas ja valige seejärel juhtelement BrowseGalleryX. Seadke toimingu OnSelect atribuudiks Navigate(KnowledgebaseDetails, ScreenTransition.None). Selle toimingu korral kuvatakse teabebaasiartikli üksikasjade ekraan, kui kasutaja valib sirvimiskuval kirje jaoks > ikooni.

  26. Salvestage rakendus.

  27. Rakenduse eelvaateks vajutage F5. Sisestage ekraanil Teadmistebaas otsingutermin ja valige seejärel Sisesta. Valige artikkel ja kontrollige, kas selle üksikasjad kuvatakse. Veenduge, et ikoon Tagasi viib kasutaja tagasi sirvimiskuvale.

  28. Sulgege eelvaateaken ja naaske siis tagasi rakendusse Power Apps Studio.

Maria, Kiana ja Preeti on veebi API ja Azure'i kognitiivse otsingu edukalt rakendusse integreerinud.