Napomena
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da se prijavite ili da promenite direktorijume.
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da promenite direktorijume.
Slavna i Kata su spremne da kombinuju aplikaciju sa Web API-jem. Međutim, pre nego što nastave, odlučuju se da se konsultuju sa Preti, menadžerom za IT operacije.
Razumevanje zahteva za upravljanje IT operacijama za Web API
Preti je zabrinuta zbog toga što aplikacija i Web API moraju da budu bezbedni, jer pružaju pristup osetljivim podacima uskladištenim u različitim bazama podataka. Preeti želi garancije da će autentifikacija i ovlašćenje biti uključeni kako bi se sprečio neopravdan pristup informacijama. Preti je takođe svesna da se kompanija brzo širi, a obim podataka uključenih u upravljanje klijentima, zakazanim obavezama, delovima i bazom znanja verovatno će se eksponencijalno povećati u bliskoj budućnosti. Shodno tome, rešenje mora biti skalabilno.
Kata objašnjava Preti da je Web API trenutno primenjen pomoću usluge Azure App Service. Ova usluga podržava brojne dobavljače identiteta, koje Preti može da konfiguriše pomoću Azure portala. Preeti je posebno zainteresovan za Microsoft Entra ID jer VanArsdel želi da u bliskoj budućnosti uvede ovaj oblik autentifikacije u mnoge svoje druge korporativne sisteme.
App Service takođe pruža horizontalnu i vertikalnu skalabilnost. Ako je potrebno, Preti može da poveća resurse dostupne Web API-ju nadogradnjom App Service plana za veb-aplikaciju:
Preeti takođe može da organizuje da se sistem skalira konfigurisanjem automatskog skaliranja. App Service omogućava menadžeru operacija da definiše pravila automatskog skaliranja koja određuju uslove pod kojima bi sistem trebalo da se skalira u više slučajeva kada se opterećenje poveća ili ponovo uključi kako padne potražnja. Preeti takođe može konfigurisati preventivno automatsko skaliranje da se dogodi prema rasporedu:
Ključni deo uloge menadžera IT operacija je da nadgleda kako se mogu razvijati sistemi i da obezbedi da osnovne strukture podrške upravljaju budućim proširenjem i promenama. Preti zna da bi Web API koji je razvila Kata mogao da se proširi i da ga u budućnosti ponovo koriste drugi VanArsdel sistemi. Preeti mora biti u stanju da upravlja i kontroliše način na koji programeri zahtevaju upotrebu Veb API-ja, štite ga kao vredan resurs i prate njegovu upotrebu. Zbog toga Preti odlučuje da zaštiti Web API iza usluge Upravljanje Azure API-jima.
API upravljanje pruža dodatni nivo zaštite Web API-ju, a takođe i omogućava detaljno nadgledanje i kontrolu nad tim koji klijenti mogu da pristupe kojim operacijama. Koristeći upravljanje API-jem, Preti može da upravlja ukupnom iskorišćenošću resursa i smanji performanse klijenata niskog prioriteta kako bi osigurala brže servisiranje kritičnih aplikacija višeg prioriteta.
Za informacije o uslugama koje API Management pruža, idite na O API Management.
Kreiranje usluge upravljanja API-jem
Preti je kreirala uslugu upravljanja API-jem putem Azure portala, koristeći sledeće korake:
Prijavite se na Azure portal i, na početnoj stranici, izaberite Kreiraj resurs.
U tekstualnom polju Pretraži MarketPlace unesite API Management , a zatim izaberiteEnter .
Na stranici API Management izaberite Kreiraj.
Na stranici Kreiraj API Management unesite sledeće vrednosti, a zatim izaberite Pregled + kreiranje:
- Pretplata: Izbor pretplate
- Grupa resursa: webapi_rg (ovo je ista grupa resursa koju ste kreirali za App Service)
- Region: Izaberite svoj najbliži region
- Naziv resursa: Unesite jedinstveni naziv za uslugu
- Ime organizacije: VanArsdel
- E-mail administratora: itadmin@vanarsdel.com
- Cenovni nivo: Programer (bez SLA)
Belešku
Nemojte koristiti nivo cena za programere za proizvodni sistem.
Na stranici za validaciju izaberite Create i sačekajte dok se kreira usluga API Management.
Belešku
Može biti potrebno 30 minuta ili više da bi se obezbedila usluga Upravljanje API-jem; budite strpljivi.
Objavljivanje Web API-ja kroz upravljanje API-jem
Nakon što je kreiran servis API Management, Preeti je objavio Veb API kako bi ga učinio dostupnim drugim uslugama i aplikacijama koristeći sledeće korake:
U Azure portalu, idite na uslugu Upravljanje API-jem.
Na stranici usluge API Management, u levom oknu pod API-jima, izaberite API-je:
U oknu Dodaj novi API , izaberite OpenAPI:
U Kreiraj iz OpenAPI specifikacije dijalog, unesite sledeće vrednosti, a zatim izaberite Kreiraj:
- OpenAPI specification: https://<vebapp name>.azurewebsites.net/swagger/v1/swagger.json, gde <je ime> vebapp-a ime App Service-a koji hostuje vaš Veb API
- Prikazno ime: Field Engineer API
- Ime: field-engineer-api
- Sufiks URL adrese za API: Ostavite prazno
- Osnovna URL adresa: Koristite podrazumevanu URL adresu
Kada je kreiran API Field Engineer, izaberite karticu Podešavanja za API, podesite URL veb servisa na https://<ime> vebapp.azurewebsites.net, a zatim izaberite Sačuvaj:
Na kartici Test izaberite GET API / Imenovanja URI, a zatim izaberite Pošalji:
Proverite da li je zahtev uspešan (HTTP povratni kod je KSNUMKS OK) i da li vraća rezultat koji sadrži listu sastanaka u telu odgovora:
Povezivanje sa Upravljanjem API-jem iz aplikacije
Kata i Slavna sada mogu zajedno da povežu aplikaciju napravljenu pomoću usluge Power Apps na Web API-ju preko usluge Upravljanje API-jem.
Prvi zadatak je kreiranje prilagođenog konektora koji aplikacija koristi za komunikaciju sa uslugom Upravljanje API-jem. To uključuje izvoz API-ja u Power Apps okruženje koje se koristi za kreiranje aplikacije, što Kata čini na sledeći način:
U Azure portalu, idite na stranicu za uslugu Upravljanje API-jem koju je Preti napravila.
U levom oknu pod API-jima izaberite API-je.
Izaberite dugme elipse za Field Engineer Api, a zatim izaberite Izvoz.
U oknu Izvozni API , izaberite Power Apps i Power Automate:
Na Izvozi API u PowerApps okno, izaberite okruženje Power Apps u kojem ste kreirali prototip aplikacije (Marija na sledećoj slici), a zatim izaberite Izvoz.
Nakon što je API izvezen, izaberite API Field Engineer. Na stranici Podešavanja pomerite se nadole do odeljka Pretplate , obrišite Potrebna pretplata, a zatim izaberite Sačuvaj.
Prototip aplikacije je koristio Excel radne sveske za izvore podataka. Sada kada je prilagođeni konektor za Web API dostupan, Slavna izvodi sledeće korake za dodavanje konektora u aplikaciju:
Prijavite se na Power Apps.
U levom oknu proširite Podaci i izaberite Prilagođeni konektori. Trebalo bi da bude naveden prilagođeni konektor field-engineer-api . Izaberite Kreiraj vezu.
U dijalogu field-engineer-api , izaberite Kreiraj.
Kada kreirate vezu, proverite da li se prikazuje na listi dostupnih veza.
U levom oknu izaberite Apps, izaberiteVanArsdelApp , a zatim izaberiteEdit .
U levom oknu, izaberite karticu Podaci . Izaberite Dodaj podatke, izaberite dugme elipse za Konektore, a zatim izaberite Osveži.
Na listi konektora, izaberite field-engineer-api konektor.
U dijalogu field-engineer-api , izaberite konektor field-engineer-api .
U oknu podataka proverite da li je FieldEngineerApi konektor naveden.
Ažuriranje aplikacije za upotrebu konektora: Upravljanje zalihama na terenu
Sada kad je veza dodata u aplikaciju, Slavna može da izmeni ekrane da bi je koristila da zameni Excel radne sveske. To uključuje metodički rad na svakom ekranu i promenu izvora podataka. Nijedna druga promena ne bi trebalo da je neophodna. Marija počinje sa ekranima BrovseParts i PartDetails , na sledeći način:
Na početnom ekranu aplikacije izaberite dugme Delovi . Podesite osobinu akcije OnSelect na sledeću formulu.
ClearCollect(partsCollection, FieldEngineerAPI.getapiboilerparts()); Navigate(BrowseParts, ScreenTransition.Fade)
Funkcija ClearCollect stvara novu kolekciju pod nazivom partsCollection i popunjava je podacima koji proizilaze iz pozivanja operacije getboilerparts u FieldEngineerAPI vezi.
Belešku
Dobra je praksa preuzimanje podataka u zbirku i referenciranje te kolekcije sa bilo kog ekrana kojem su potrebne informacije. Ovaj pristup može spasiti različite ekrane od ponovljenog pokretanja istog upita i preuzimanja istih podataka.
Izaberite FKSNUMKS da biste pregledali aplikaciju.
Na početnom ekranu izaberite Delovi. Ova akcija će kreirati partsCollection kolekciju . Zatvorite prozor za pregled i vratite se u Power Apps Studio.
Belešku
Svrha ovog koraka je da vam omogući da vidite podatke dok uređujete BrovseParts ekran u sledećim koracima.
Izaberite BrowseGallery1 kontrolu u BrowseParts ekranu. U formuli za osobinu Items , zamenite referencu na [@Table1] izvor podataka na partsCollection.
Ta promena će dovesti do nekih grešaka. To je zato što su imena polja u originalnoj Ekcel radnoj svesci koristila velika slova (Name, CategoryID i Pregled), dok su svojstva vraćena u telu odgovora Veb API-ja imenovana malim slovima. Promenite ove reference tako da koriste mala slova. Formula bi trebalo da izgleda ovako.
SortByColumns(Search(FieldEngineerApi.getapiboilerparts(), TextSearchBox1.Text, "name", "categoryId", "overview"), "name", If(SortDescending1, Descending, Ascending))
U oknu Prikaz stabla, izaberite IconRefreshKSNUMKS kontrolu. Promenite akciju OnSelect u formulu ClearCollect(partsCollection, FieldEngineerAPI.getapiboilerparts()).
Belešku
Originalna formula za ovu akciju poziva funkciju Refresh da ponovo popuni podatke koristeći vezu sa originalnim izvorom podataka. Ne možete koristiti Refresh sa vezom koja pokreće funkciju za preuzimanje podataka, tako da neće raditi sa FieldEngineerApi.getapiboilerparts(). Rešenje u ovom koraku ponovo popunjava partsCollection kolekciju sa najnovijim podacima.
U oknu Prikaz stabla, proširite kontrolu BrovseGallery1 i izaberite kontrolu BodiKSNUMKS . Promenite osobinu Tekst u ThisItem.overview.
Na oknu Prikaz stabla, izaberite Subtitle1 kontrolu. Promenite osobinu Tekst u ThisItem.categoryId.
Na oknu Pregled stabla, izaberite kontrolu Naslov . Promenite osobinu Tekst na ThisItem.name.
U oknu Prikaz stabla, izaberite DetailFormKSNUMKS kontrolu u PartDetails ekranu. Promenite svojstvo DataSource iz [@Table1] u partsCollection.
U oknu Prikaz stabla, izaberite kontrolu Name_DataCard1 pod DetailFormKSNUMKS. Promenite Default osobinu na ThisItem.name.
Promenite Default osobinu kontrole CategoryID_DataCard1 u ThisItem.categoryId .
Promenite Default osobinu Overview_DataCard1 kontrole u ThisItem.overview.
Promenite Default osobinu kontrole Price_DataCard1 u ThisItem.price .
Promenite Default osobinu NumberInStock_DataCard1 kontrole u ThisItem.numberInStock.
Promenite Default osobinu Image_DataCard1 kontrole u ThisItem.imageUrl.
U levom oknu na kartici Podaci kliknite desnim tasterom miša na vezu sa podacima TableKSNUMKS , a zatim izaberite Ukloni da biste je izbrisali iz aplikacije. Ova veza više nije potrebna.
Sačuvajte aplikaciju.
Belešku
Možete brzo da sačuvate aplikaciju bez korišćenja menija File tako što ćete izabrati Ctrl + S.
Izaberite FKSNUMKS da biste pregledali aplikaciju. Ekrani Pregledaj delove i detalje dela treba da rade tačno kao i ranije, osim što ovaj put preuzimaju podatke iz InventoryDB Azure SKL baze podataka preko Veb API-ja, a ne iz lokalne Ekcel datoteke.
Zatvorite prozor za pregled i vratite se u Power Apps Studio.
Ažuriranje aplikacije za upotrebu konektora: Planiranje i napomene na terenu
Marija nastavlja sa ekranima BrowseAppointments , AppointmentDetails i EditAppointment . Podaci predstavljeni ovim ekranima trenutno potiču iz tabele Sastanci u drugoj Ekcel radnoj svesci.
Na početnom ekranu aplikacije podesite akciju OnVisible na sledeću formulu.
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime))
Ova formula preuzima podatke o sastancima u kolekciju appointmentsCollection . Zakazane obaveze se filtriraju za pristup posetama zakazanim za trenutni datum ili posle njega.
Izaberite kontrolu oznake koja prikazuje vreme sledeće zakazane obaveze. Podesite Tekst svojstvo na Tekt(First(appointmentsCollection).startDateTime, ShortTime24).
Izaberite kontrolu oznake koja prikazuje datum za sledeću zakazanu obavezu. Podesite Tekst osobinu na Tekt(First(appointmentsCollection).startDateTime, LongDate).
Izaberite kontrolu oznake koja prikazuje ime klijenta za sledeću zakazanu obavezu. Podesite Tekst osobinu na First(appointmentsCollection).customer.name.
Izaberite FKSNUMKS da biste pregledali aplikaciju. Na početnom ekranu izaberite Imenovanja. Ova akcija će kreirati kolekciju appointmentsCollection . Zatvorite prozor za pregled i vratite se u Power Apps Studio.
U oknu Prikaz stabla izaberite kontrolu BrovseAppointmentsGallery u ekran BrovseAppointments . Promenite formulu u Stavke svojstvo na sledeću formulu.
Sort(Filter(appointmentsCollection, StartsWith(customer.name, TextSearchBox1\_1.Text)), startDateTime)
Ova formula filtrira podatke prikazane na ekranu prema imenu klijenta, omogućavajući korisniku da unese ime klijenta. Zakazane obaveze se prikazuju u redosledu po datumu i vremenu.
U oknu Prikaz stabla, proširite kontrolu BrovsseAppointmentsGallery i izaberite kontrolu Title1_1 . Promenite osobinu Tekst na sledeće.
Text(ThisItem.startDateTime, LongDate)
Ova formula prikazuje deo datuma startDateTime polja za sastanak.
U oknu Prikaz stabla, proširite kontrolu BrovsSeAppointmentsGallery i izaberite kontrolu Subtitle1_1 . Promenite osobinu Tekst na sledeće.
Text(ThisItem.startDateTime, ShortTime24)
Ova formula prikazuje vremenski element polja startDateTime .
U oknu Prikaz stabla proširite kontrolu BrovsSeAppointmentsGallery i izaberite kontrolu Body1_1 . Promenite osobinu Tekst na sledeće.
ThisItem.customer.name
U oknu Prikaz stabla, izaberite kontrolu IconRefresh1_1 na ekran BrovseAppointments . Podesite akciju OnSelect na sledeću formulu.
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime));
U oknu Prikaz stabla proširite ekran AppointmentDetails i izaberite DetailForm1_1 kontrolu . Podesite svojstvo DataSource na appointmentsCollection.
U oknu Prikaz stabla, izaberite IconEditKSNUMKS kontrolu. Izmenite formulu u osobini DisplaiMode da biste testirali kolekciju appoinmentsCollection .
If(DataSourceInfo(**appointmentsCollection**, DataSourceInfo.EditPermission), DisplayMode.Edit, DisplayMode.Disabled)
U oknu Prikaz stabla proširite ekran DetailForm1_1 i izaberite kontrolu Name_DataCard1 klijenta. Promenite Default osobinu na ThisItem.customer.name.
Promenite podrazumevane osobine preostalih kartica podataka na sledeći način:
- Address_DataCard1 kupaцa: ThisItem.customer.address
- Kontakt Number_DataCard1: ThisItem.customer.contactNumber
- Problem Details_DataCard1: ThisItem.problemDetails
- Status_DataCard1: ThisItem.appointmentStatus.statusName
- Notes_DataCard1: ThisItem.notes
- Image_DataCard1_1: ThisItem.imageUrl
U oknu Prikaz stabla, proširite ekran EditAppointment , i izaberite EditForm1 kontrolu. Podesite svojstvo DataSource na appointmentsCollection.
U oknu Prikaz stabla, proširite EditFormKSNUMKS kontrolu i izaberite kontrolu Customer Name_DataCard3 . Promenite Default osobinu na ThisItem.customer.name.
Promenite podrazumevane osobine preostalih kartica podataka na sledeći način:
- Kontakt Number_DataCard2: ThisItem.customer.contactNumber; dodatno, promenite MakLength imovinu na 20
- Problem Details_DataCard2: ThisItem.problemDetails
- Status_DataCard5: ThisItem.appointmentStatus.statusName
- Notes_DataCard3: ThisItem.notes
- Image_DataCard2: ThisItem.imageUrl
U oknu Prikaz stabla, proširite Problem Details_Card2 kontrolu. Preimenujte DataCardValueKs (Ks će biti broj) polje pod ovom kontrolom u ProblemDetailsValue. Ponovite ovaj postupak za DataCardValueKs kontrole u sledećim karticama podataka:
- Status_DataCard5: StatusVrednost
- Notes_DataCard3: NotesValue
Belešku
Kontrola Image biće obrađena u sledećem poglavlju.
Izaberite ProblemDetailsValue i podesite osobinu MaxLength na 100.
U oknu Prikaz stabla, izaberite kontrolu IconAcceptKSNUMKS na ekranu EditAppointment . Podesite osobinu akcije OnSelect na sledeću formulu.
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);
Ova formula poziva PUT operaciju za kontroler imenovanja u Veb API-ju. Kao prvi parametar prosleđuje ID zakazane obaveze za trenutnu zakazanu obavezu, praćeno detaljima koje je korisnik možda izmenio na ekranu. Detalji se prenose kao JSON objekat. Izjave o uklanjanju, postavljanju i prikupljanju ažuriraju zbirku appointmentsCollection sa podacima sačuvanim u bazi podataka.
Belešku
Nemojte koristiti funkciju ClearCollect da biste izbrisali i osvežili celu kolekciju u ovakvim situacijama, jer bi bilo rasipno ako se – na primer – promenio samo jedan zapis.
U oknu Prikaz stabla, izaberite kontrolu IconAcceptKSNUMKS na ekranu EditAppointment . Podesite osobinu akcije OnSelect na sledeće.
ResetForm(EditForm1); Navigate(AppointmentDetails, ScreenTransition.None);
U levom oknu na kartici Podaci kliknite desnim tasterom miša na vezu sa podacima o sastancima , a zatim izaberite Ukloni da biste ga izbrisali iz aplikacije.
Sačuvajte aplikaciju.
Izaberite FKSNUMKS da biste pregledali aplikaciju. Na početnom ekranu idite na ekran Imenovanja , izaberite i uredite sastanak, a zatim sačuvajte promene. Proverite da li je zakazana obaveza ažurirana.
Zatvorite prozor za pregled i vratite se u Power Apps Studio.
Kreiranje usluge Azure kognitivna pretraga za bazu znanja na terenu
Ekran baze znanja u aplikaciji trenutno nije povezan ni sa jednim izvorom podataka. Veb API uključuje operacije za upit i ažuriranje tabela Tips, BoilerParts i Engineers u bazi podataka KnovnovDB . Međutim, svrha ekrana upita u aplikaciji je da podrži pretrage kroz sve ove tabele. Obim podataka u ovim tabelama će se verovatno brzo povećati, pa su Slavna, Kata i Preti odlučile da primene Azure kognitivnu pretragu da podrže ovu funkciju. Aplikacija može da šalje upite i prima rezultate iz Azure kognitivne pretrage putem prilagođenog konektora.
Azure kognitivna pretraga najbolje funkcioniše ako su podaci koje treba pretraživati sadržani u jednom entitetu baze podataka. Kiana kreira prikaz u bazi podataka KnowledgeDB koji predstavlja jedinstveni prikaz tabela Tips, BoilerParts i Engineers , na sledeći način:
Na Azure portalu idite na stranicu KnovDB SKL baza podataka .
U levom oknu, izaberite Urednik upita i prijavite se u bazu podataka kao skladmin, koristeći lozinku PaKSNUMKSv.rd.
U prozoru upita unesite sledeću izjavu, a zatim izaberite Pokreni.
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
Proverite da li je prikaz, znanje, uspešno kreiran.
U levom oknu, izaberite String veze. Zabeležite ADO.NET string veze; trebaće vam kada konfigurišete Azure Cognitive Search.
Radeći sa Kiana, Preeti konfiguriše novu instancu Azure Cognitive Search servisa za obavljanje pretraga na redovima u prikazu znanja , na sledeći način:
Na početnoj stranici, na Azure portalu, izaberite + Kreirajte resurs, unesite Azure Cognitive Search, izaberite Enter, a zatim izaberite Kreiraj.
Na stranici Nova usluga pretraživanja unesite sledeća podešavanja, a zatim izaberite Pregled + kreiranje :
- Pretplata: Izaberite Azure pretplatu
- Grupa resursa: webapi_rg
- Naziv usluge: Unesite jedinstveni naziv za uslugu
- Naziv lokacije: Izaberite svoj najbliži region
- Cenovni nivo: Besplatno
Na stranici za validaciju izaberite Kreiraj i sačekajte dok se usluga obezbeđuje.
Idite na stranicu za novu uslugu pretraživanja, izaberite Pregled, zabeležite URL (ovo će vam trebati kasnije kada kreirate prilagođeni konektor za Power Apps), a zatim izaberite Uvoz podataka.
Na stranici Uvoz podataka , u padajućem listu Izvor podataka, izaberite Azure SKL bazu podataka.
Na stranici Povežite se sa podacima , navedite sledeća podešavanja:
- Izvor podataka: Azure SKL baza podataka
- Ime izvora podataka: baza znanja
- String veze: Unesite niz veze Azure SKL baze podataka za KnovledgDB bazu podataka koju ste ranije snimili; u ovom nizu obavezno podesite lozinku na PaKSNUMKSv.rd
- Ostavite User ID i Passvord polja na njihovim podrazumevanim vrednostima; ove stavke se preuzimaju iz niza veze
Izaberite Testiraj vezu. Uverite se da je test uspešan, izaberite [Znanje] u padajućoj listi Tabela / Pogled , a zatim izaberite Dalje: Dodaj kognitivne veštine (opciono).
Na stranici Dodaj kognitivne veštine (opciono) izaberite Preskoči na: Prilagodite ciljni indeks.
Na stranici Prilagodite ciljni indeks , izaberite Retrievable za sve kolone, i Searchable for Subject,Bodi,Ime, i pregled. Izaberite Sledeći: Kreirajte indekser.
Na stranici Kreiraj indekser , promenite ime indeksera u bazu znanja. Za Raspored, izaberite Satno, podesite kolonu Visoki vodeni žig na Id , a zatim izaberite Pošalji :
Da biste testirali indekser, na stranici Pregled za uslugu pretrage, izaberite Search Ekplorer :
U polje Nizupita unesite reč za traženje u bazi znanja, a zatim izaberite Pretraži. Servis za pretragu treba da generiše listu dokumenata sa podudaranjem u poljima Predmet, telo, Ime ili Pregled i prikaže ih u oknu Rezultati . Zabeležite URL adresu zahteva i primerne rezultate; ove stavke će vam trebati kasnije kao primer zahteva i odgovora kada podesite prilagođeni Power Apps konektor.
Kreiranje prilagođenog konektora za uslugu Azure kognitivne pretrage
Kata sada može da kreira prilagođeni konektor koji Power Apps koristi za slanje zahteva za pretragu usluzi pretrage. Kiana to radi na Power Apps Studio sledeći način:
Prijavite se na Power Apps.
U levom oknu proširite Podaci i izaberite Prilagođeni konektori. U desnom oknu izaberite + Novi prilagođeni konektor, a zatim izaberite Kreiraj prazno:
U Kreiraj iz praznog dijalog, podesite novo ime konektora na VanArsdelKBConnector, a zatim izaberite Nastavi:
Na stranici Opšte informacije unesite opis i podesite Šemu na HTTPS. U polje Domaćini unesite URL za vašu uslugu pretrage (ranije ste primetili ovu URL adresu), ali bez prefiksa https:// , a zatim izaberite Bezbednost.
Na stranici Bezbednost , u padajućoj listi Autentifikacija , izaberite API ključ. U polje Oznaka parametra , unesite api-kei. U polje Ime parametra, unesite api-kei. Izaberite Definicija.
Na stranici Definicija , izaberite Nova akcija. U polje Rezime , unesite Kuer. U polje Opis unesite Upit bazu znanja. U polje ID operacije unesite Kueriti. Pod zahtevom, izaberite + Uvoz iz uzorka.
U Uvoz iz uzorka dijalog, unesite sledeće vrednosti, a zatim izaberite Uvoz:
- Glagol: GET
- URL: Navedite primer URL adrese zahteva koji ste zabeležili prilikom ranijeg testiranja usluge pretrage u istraživaču pretrage
- Zaglavlja: Content-type
Nazad na stranici Definicija , pomerite se nadole do odeljka Upit , izaberite dugme elipse pored pretrage, a zatim izaberiteUredi .
Na ekranu za uređivanje, u odeljku Parametri , u polju Podrazumevana vrednost , unesite zvezdicu (*). Ostavite ostala polja na njihovim podrazumevanim vrednostima, a zatim izaberite Nazad.
Na stranici Definicija , u odeljku Upit , izaberite dugme elipse pored api-verzije, a zatim izaberite Uredi.
Na ekranu za uređivanje, u odeljku Parametri , u polju Podrazumevana vrednost, unesite 2020-06-30-Previev (ovo je verzija povezana sa trenutnom verzijom Azure Cognitive Search; možete videti verziju u URL adresi zahteva koju ste ranije primetili). Podesite Potrebno je da i podesite Vidljivostna unutrašnju . Ostavite ostala polja na njihovim podrazumevanim vrednostima, a zatim izaberite Nazad.
Na stranici Definicija , pomerite se nadole do odeljak Odgovor i izaberite + Dodaj podrazumevani odgovor.
]
U Uvoz iz uzorka dijalog, u Zaglavlja polje, unesite tekst Content-tipe. U polju Telo unesite primere rezultata koje ste zabeležili prilikom testiranja servisa za pretragu, a zatim izaberite Uvoz.
Na stranici Definicija izaberite podrazumevani odgovor.
U polju Opis odgovora tipa sadržaja , unesite application/json, a zatim izaberite Nazad.
Belešku
Odeljak Telo na ovoj stranici treba da prikaže polja odgovora, kao što su Bodi, Id, Ime, Pregled i Predmet ako je uspešno raščlanjen.
Izaberite Kreiraj konektor.
Konektor treba da se kreira bez prijavljivanja grešaka ili upozorenja.
Ažuriranje aplikacije da koristi Azure kognitivnu pretragu: Baza znanja na terenu
Slavna sada može da koristi prilagođeni konektor u aplikaciji. Ali prvo, potreban je ključ koji Mariji daje privilegije potrebne za povezivanje sa uslugom Azure Cognitive Search. Preeti dobija ključ sa stranice Keis za uslugu na Azure portalu i daje ga Mariji.
Slavna uređuje aplikaciju u usluzi Power Apps Studio i obavlja sledeće zadatke:
Otvorite aplikaciju VanArsdelApp za uređivanje.
U meniju Pogled , izaberite Izvori podataka, a zatim izaberite Dodaj podatke.
U polje za pretragu , pod Izaberite izvor podataka, unesite Van. VanArdelKBConnector konektor treba da bude naveden.
Izaberite konektor VanArdelKBConnector . U oknu VanArdelKBConnector unesite ključ koji je Preeti obezbedio za uslugu pretrage, a zatim izaberite Connect.
U meniju Fajl sačuvajte i zatvorite aplikaciju, a zatim je ponovo otvorite. Možda će se od vas zatražiti da odobrite upotrebu prilagođenog konektora kada se aplikacija ponovo otvori.
Belešku
Ovaj korak je neophodan za omogućavanje prilagođenog konektora.
U oknu Prikaz stabla, proširite ekran Baza znanja, i izaberite TextSearchBox2 kontrolu. Unesite sledeću formulu za akciju OnChange .
If(!IsBlank(TextSearchBox2.Text), ClearCollect(azResult, VanArsdelKBConnector.Query({search: TextSearchBox2.Text}).value))
Ova formula poziva operaciju upita prilagođenog konektora koji traži stavke koje odgovaraju terminu koji korisnik upisuje u polje za pretragu. Rezultati se čuvaju u kolekciji pod nazivom azResult.
U oknu Prikaz stabla, ispod ekrana Baza znanja, izaberite kontrolu BrovseGallery2 . Podesite osobinu Items na azResult.
Proširite kontrolu BrovseGallery2 i uklonite kontrolu Image4 .
Izaberite kontrolu Title2 . Podesite sledeća svojstva:
- Tekst: ThisItem.Subject
- X: 24
- Širina: Parent.TemplateWidth - 104
Izaberite Subtitle2 kontrolu. Podesite Tekst osobinu na ThisItem.Bodi.
Izaberite FKSNUMKS da biste pregledali aplikaciju. Na ekranu baze znanja, unesite termin za pretragu, a zatim izaberite Enter. Trebalo bi da se prikažu članci iz baze znanja.
Belešku
Ekran sa detaljima još nije kreiran, tako da odabir ikone > pored članka ne radi.
Zatvorite prozor za pregled i vratite se u Power Apps Studio.
U oknu Prikaz stabla, kliknite desnim tasterom miša na ekran PartDetails i izaberite Dupli ekran. Ova akcija će dodati još jedan ekran u aplikaciju, pod nazivom PartDetails_1.
U oknu Prikaz stabla, preimenujte PartDetails_1 ekran kao KnowledgebaseDetails.
Izaberite LblAppName Xkontrolu na ekranu; podesite Tekst osobinu na "Article Details" (uključujući i navodnike ).
U oknu Prikaz stabla, izaberite DetailFormX kontrolu na ekranu. Podesite sledeća svojstva:
- DataSource: azResult
- Artikal: **BrowseGallery2.Selected**
Belešku
BrowseGallery2 je galerija za pretraživanje na ekranu baze znanja. U vašoj aplikaciji, ova galerija može da ima drugi naziv.
Na oknu prikaza stabla, proširite DetailFormKs obrazac, a zatim promenite imena sledećih kontrola kartica podataka:
- Name_DataCard1_1: Name_DataCard
- CategoryID_DataCard1_1: Subject_DataCard
- Overview_DataCard1_1: Overview_DataCard
- Price_DataCard1_1: Body_DataCard
Izbrišite NumberInStock_DataCard1_1 i Image_DataCard1_1 kontrole.
Izaberite Name_DataCard kontrolu . Podesite Default osobinu na ThisItem.Name.
Izaberite Subject_DataCard kontrolu . Podesite sledeća svojstva:
- DataField: "Predmet"
- DisplayName: "Predmet"
- Podrazumevano: ThisItem.Subject
Izaberite Overview_DataCard kontrolu . Podesite Default osobinu na ThisItem.Overview.
Izaberite Body_DataCard kontrolu . Podesite sledeća svojstva:
- DataField: "Telo"
- DisplaiName: "Telo"
- Srpskohrvatski / srpskohrvatski
Izaberite DataCardValueX kontrolu u Body_DataCard kontroli . Podesite osobinu Tekst na Parent.Default.
Promenite veličinu svake kontrole podataka na kartici da biste je raširili po ekranu.
Izaberite strelicu za nazad u zaglavlju ekrana. Promenite osobinu akcije OnSelect da biste navigirali (baza znanja, ScreenTransition.None).
U oknu Prikaz stabla, izaberite ekran Baza znanja, a zatim izaberite kontrolu BrovseGalleryX . Promenite osobinu akcije OnSelect da biste navigirali (KnowledgebaseDetails, ScreenTransition.None). Ova akcija prikazuje ekran sa detaljima za članak baze znanja kada korisnik izabere ikonu > za unos na ekranu za pretraživanje.
Sačuvajte aplikaciju.
Izaberite FKSNUMKS da biste pregledali aplikaciju. Na ekranu baze znanja, unesite termin za pretragu, a zatim izaberite Enter. Izaberite članak i proverite da li su prikazani njegovi detalji. Proverite da li ikona Nazad vraća korisnika na ekran za pretraživanje.
Zatvorite prozor za pregled i vratite se u Power Apps Studio.
Slavna, Kata i Preti su uspešno ugradile Web API i Azure kognitivnu pretragu u aplikaciju.