6. poglavlje: Upotreba API-ja za web u aplikaciji
Maria i Kiana spremne su kombinirati aplikaciju s API-jem za web. Međutim, prije nastavka odlučuju se savjetovati s Preeti, voditeljicom IT operacija.
Razumijevanje zahtjeva za upravljanje IT operacijama za API za web
Preeti je zabrinuta da aplikacija i API za web moraju biti sigurni jer pružaju pristup osjetljivim podacima pohranjenim u različitim bazama podataka. Želi jamstva da će moći uključiti provjeru provjeru autentičnosti i autorizaciju kako bi se spriječio neovlašteni pristup informacijama. Preeti je također svjestna da se tvrtka brzo širi, a količina podataka uključenih u upravljanje klijentima, obvezama, dijelovima i bazom znanja vjerojatno će se eksponencijalno povećati u kratkom roku. Slijedom toga, ona želi da je rješenje skalabilno.
Kiana objašnjava Preeti da je API za web trenutačno implementiran s uslugom Azure App. Ova usluga podržava brojne davatelje usluge provjere autentičnosti, koje Preeti može konfigurirati koristeći portal Azure. Preeti posebno zanima Azure Active Directory jer tvrtka VanArsdel u skoroj budućnosti želi uvesti ovaj oblik provjere autentičnosti u mnoge svoje druge korporacijske sustave.

Usluga aplikacija također pruža horizontalnu i vertikalnu skalabilnost. Ako je potrebno, Preeti može povećati resurse dostupne API-ju za web nadogradnjom plana usluge aplikacija za web-aplikaciju:

Također može organizirati povećanje sustava konfiguriranjem automatske promjene veličine. Usluga aplikacije omogućuje upravitelju operacijama definiranje pravila automatske promjene veličine koja određuju uvjete pod kojima bi sustav trebao povećavati u više slučajeva kada se opterećenje poveća ili se vrati opet kad potražnja padne. Također može konfigurirati preventivnu automatsku promjenu veličine tako da se odvija prema rasporedu:

Ključni dio uloge upravitelja IT operacijama jest promatrati kako bi se sustavi mogli razvijati i osigurati da će temeljne strukture podrške upravljati budućim širenjem i promjenama. Preeti zna da bi se API za web koji je razvila Kiana u budućnosti mogao proširiti i ponovo bi ga mogli upotrebljavati drugi sustavi tvrtke VanArsdel. Ona mora biti sposobna upravljati i kontrolirati način na koji razvojni inženjeri zahtijevaju upotrebu API-ja za web, zaštititi ga kao vrijedan resurs i nadzirati njegovu upotrebu. Stoga, Preeti odlučuje zaštititi API za web iza Upravljanja API-jevima usluge Azure.
Upravljanje API-jevima pruža dodatnu razinu sigurnosti API-ju za web te omogućava detaljni nadzor i kontrolu nad tim koji klijenti mogu pristupiti kojim operacijama. Koristeći Upravljanje API-jevima, Preeti može upravljati korištenjem resursa i smanjiti performanse klijenata niskog prioriteta kako bi osigurao brže servisiranje kritičnih aplikacija višeg prioriteta.
Informacije o uslugama koje Upravljanje API-jeva nudi potražite u odjeljku O upravljanju API-jevima.
Izrada usluge upravljanja API-jem
Preeti je izradila uslugu upravljanja API-jem putem portala Azure, koristeći sljedeće korake:
Prijavite se na Azure portal i na stranici Početno odaberite Izrada resursa.

U tekstnom okviru Pretraživanje na usluzi MarketPlace unesite Upravljanje API-jem, a zatim odaberite Unos.
Na stranici Upravljanje API-jevima odaberite Izradi.

Na stranici Izrada upravljanja API-jevima unesite sljedeće vrijednosti, a zatim odaberite Pregledaj + izradi:
- Pretplata: Odaberite pretplatu
- Grupa resursa: webapi_rg (ovo je ista grupa resursa koju ste izradili za uslugu aplikacije)
- Regija: Odaberite svoju najbližu regiju
- Naziv resursa: Unesite jedinstveni naziv za uslugu
- Naziv tvrtke ili ustanove: VanArsdel
- E-adresa administratora: itadmin@vanarsdel.com
- Razina cijena: Razvojni inženjer (bez SLA)
Napomena
Nemojte upotreblkavati razinu cijena Razvojni inženjerr za proizvodni sustav.

Na stranici provjere valjanosti odaberite Izradite i pričekajte dok se izrađuje usluga za upravljanje API-jevima.
Napomena
Može proći 30 minuta ili više dok usluga Upravljanje API-jevima nije osigurana; budite strpljivi.
Objavljivanje web API-ja putem API upravljanja
Nakon što je izrađena usluga za upravljanje API-jevima, Preeti je objavila API za web kako bi ga učinila dostupnim drugim uslugama i aplikacijama. Upotrijebila je sljedeće korake:
Na Azure portalu otvorite uslugu Upravljanje API-jem.
Na stranici Usluga upravljanja API-jevima, na lijevom oknu ispod odjeljka API-jevi odaberite API-jevi:

U oknu Dodajte novi API odaberite Otvori API:

U dijalogu Izradi iz specifikacije Otvori API unesite sljedeće vrijednosti, a zatim odaberite Izradi:
- Specifikacija Otvori API: https://<webapp name>.azurewebsites.net/swagger/v1/swagger.json gdje je <webapp name> naziv usluge aplikacije koja hostira vaš API za web
- Naziv za prikaz: API terenskog inženjera
- Naziv: api-terenskog-inženjera
- Sufiks URL-a za API: Ostavite prazno
- Osnovni URL: Upotreba zadanog URL-a

Kada se izradi API za terenskog inženjera, odaberite karticu Postavke za API, postavite URL web-usluge na https://<webapp name>.azurewebsites.net, a zatim odaberite Spremi:

Na kartici Test odaberite GET api/URI obveza, a zatim odaberite Pošalji:

Provjerite je li zahtjev uspješan (HTTP povratni kôd je 200 OK), te vraća li rezultat koji sadrži popis obveza u tijelu odgovora:

Povezivanje s Upravljanjem API-jevima iz aplikacije
Kiana i Maria sada mogu zajedno raditi na povezivanju aplikacije izrađene pomoću usluge Power Apps s API-jem za web putem usluge Upravljanja API-jevima.
Prvi je zadatak izraditi prilagođeni poveznik koji aplikacija upotrebljava za komunikaciju s Upravljanjem API-jevima. To uključuje izvoz API-ja u okruženje usluge Power Apps koje se upotrebljava za izradu aplikacije, što Kiana čini na sljedeći način:
Na portalu Azure otvorite stranicu za uslugu Upravljanje API-jevima koju je izradila Preeti.
U lijevom oknu, ispod odjeljka API-jevi odaberite API-jevi.
Odaberite gumb s tri točke za API za terenskog inženjera, a zatim odaberite Izvoz.

U oknu Izvoz API-ja odaberite Power Apps i Power Automate:

U oknu Izvoz API-ja u PowerApps odaberite okruženje usluge Power Apps u kojem ste izradili prototip aplikacije (Maria na sljedećoj slici), a zatim odaberite Izvoz.

Nakon izvoza API-ja odaberite API za terenskog inženjera. Na stranici Postavke pomaknite se dolje do odjeljka Pretplate, poništite Potrebna pretplata, a zatim odaberite Spremi.

Prototipna aplikacija koristila je radne knjige programa Excel za izvore podataka. Sada kada je prilagođeni poveznik za API za web dostupan, Maria izvodi sljedeće korake za dodavanje poveznika u aplikaciju:
Prijavite se u sustav Power Apps.
U lijevom oknu proširite odjeljak Podaci, a zatim odaberite Prilagođeni poveznici. Prilagođeni poveznik api-za-terenskog-inženjera treba biti naveden. Odaberite Izrada poveznika.

U dijalogu api-za-terenskog-inženjera odaberite Izrada.

Kada je veza uspostavljena, provjerite prikazuje li se na popisu dostupnih veza.

U lijevom oknu odaberite Aplikacije odaberite VanArdselApp, a zatim odaberite Uredi.

U lijevom oknu odaberite Podaci. Odaberite Dodaj podatke, odaberite gumb s tri točke za Poveznike, a zatim odaberite Osvježi.

Na popisu poveznika odaberite poveznik api-za-terenskog-inženjera.

U dijalogu api-za-terenskog-inženjera odaberite poveznik api-za-terenskog-inženjera.

U oknu Podaci provjerite je li poveznik API za terenskog inženjera naveden.

Ažuriranje aplikacije radi upotrebe poveznika: terensko upravljanje zalihama
Sad kad je veza dodana u aplikaciju, Maria može izmijeniti zaslone kako bi je koristila za zamjenu radnih knjiga programa Excel. To uključuje metodički rad na svakom zaslonu i promjenu izvora podataka. Ne bi trebale biti potrebne nikakve druge promjene. Ona započinje sa zaslonima Dijelovi bojlera i Detalji dijelova na sljedeći način:
Na zaslonu Početno aplikacije odaberite gumb Dijelovi. Postavite svojstvo radnje OnSelect na sljedeću formulu.
ClearCollect(partsCollection, FieldEngineerAPI.getapiboilerparts()); Navigate(BrowseParts, ScreenTransition.Fade)Funkcija ClearCollect izrađuje novu zbirku pod nazivom Zbirka dijelova i popunjava je podacima koji proizlaze iz poziva operacije getboilerparts u vezi API za terenskog inženjera.

Napomena
Dobra je praksa dohvaćanje podataka u zbirku i upućivanje te zbirke na bilo koji zaslon koji treba informacije. Ovaj pristup može spriječiti različite zaslone da neprestano pokreću isti upit i dohvaćaju iste podatke.
Odaberite F5 za pretpregled aplikacije.
Na zaslonu Početno odaberite Dijelovi. Ova radnja izradit će zbirku Zbirka dijelova. Zatvorite prozor za pretpregled i vratite se na Power Apps Studio.
Napomena
Svrha ovog koraka je omogućiti vam da vidite podatke dok uređujete zaslon Pretraživanje dijelova u sljedećim koracima.
Odaberite kontrolu BrowseGallery1 na zaslonu BrowseParts. U formuli za svojstvo Stavke zamijenite referencu na izvor podataka [@Table1] stavkom Zbirka dijelova.
Ova će promjena rezultirati nekim pogreškama. To je zato što su nazivi polja u izvornoj radnoj knjizi programa Excel napisani velikim slovima (Naziv, ID kategorije i Pregled), dok su svojstva vraćena u tijelu odgovora API-ja za web navedena malim slovima. Promijenite ove reference tako da potrebljavaju mala slova. Formula treba izgledati kao na sljedećoj slici.
SortByColumns(Search(FieldEngineerApi.getapiboilerparts(), TextSearchBox1.Text, "name", "categoryId", "overview"), "name", If(SortDescending1, Descending, Ascending))
U oknu Prikaz stabla odaberite kontrolu IconRefresh1. Promijenite radnju OnSelect u formulu ClearCollect(partsCollection, FieldEngineerAPI.getapiboilerparts()).
Napomena
Izvorna formula za ovu radnju poziva funkciju Osvježi za ponovno popunjavanje podacima koristeći vezu na izvorni izvor podataka. Ne možete upotrebljavati funkciju Osvježi s vezom koja pokreće funkciju za dohvaćanje podataka, tako da neće raditi uz FieldEngineerApi.getapiboilerparts(). Rješenje u ovom koraku ponovno popunjava zbirku Zbirka dijelova najnovijim podacima.
U oknu Prikaz stabla proširite kontrolu BrowseGallery1 i odaberite kontrolu Body1. Promijenite svojstvo Tekst na ThisItem.overview.
U oknu Prikaz stabla odaberite kontrolu Subtitle1. Promijenite svojstvo Tekst na ThisItem.categoryId.
U oknu Prikaz stabla odaberite kontrolu Naziv. Promijenite svojstvo Tekst u ThisItem.name.
U oknu Prikaz stabla odaberite kontrolu DetailForm1 na zaslonu Detalji. Promijenite svojstvo Izvor podataka iz [@Table1] na Zbirka dijelova.
U oknu Prikasz stabla odaberite kontrolu Name_DataCard1 u odjeljku DetailForm1. Promijenite svojstvo Zadano u ThisItem.name.

Promijenite svojstvo Zadano kontrole CategoryID_DataCard1 u ThisItem.categoryId.
Promijenite svojstvo Zadano kontrole Overview_DataCard1 u ThisItem.overview.
Promijenite svojstvo Zadano kontrole Price_DataCard1 u ThisItem.price.
Promijenite svojstvo Zadano kontrole NumberInStock_DataCard1 u ThisItem.numberInStock.
Promijenite svojstvo Zadano kontrole Image_DataCard1 u ThisItem.imageUrl.
Na lijevom oknu na kartici Podaci desnom tipkom miša kliknite podatkovnu vezu Tablica1, a zatim odaberite Ukloni kako biste je izbrisali iz aplikacije. Ova veza više ije potrebna.

Spremite aplikaciju.
Napomena
Aplikaciju možete brzo spremiti bez upotrebe izbornika Datoteka odabirom tipki Ctrl + S.
Odaberite F5 za pretpregled aplikacije. Zasloni Pretraživanje dijelova i Detalji o dijelu trebali bi raditi točno kao i prije, osim što ovaj put preuzimaju podatke iz baze podataka Azure SQL InventoryDB pomoću API-ja za web, umjesto iz lokalne Excel datoteke.
Zatvorite prozor za pretpregled i vratite se na Power Apps Studio.
Ažuriranje aplikacije radi upotrebe poveznika: terensko zakazivanje i bilješke
Maria nastavlja raditi na zaslonima Pretraživanje obveza, Detalji o obvezama i Uređivanje obveza. Podaci prikazani na ovim zaslonima trenutačno potječu iz tablice Obveze u drugoj radnoj knjizi programa Excel.
Na zaslonu Početno aplikacije postavite radnju OnVisible na sljedeću formulu.
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime))Ova formula dohvaća podatke o obvezama u zbirku Zbirka obveza. Obaveze se filtriraju radi dohvaćanja posjeta zakazanih na trenutačni dan ili nakon trenutačnog datuma.
Odaberite kontrolu oznake koja prikazuje vrijeme sljedeće obveze. Postavite svojstvo Tekst na Text(First(appointmentsCollection).startDateTime, ShortTime24).
Odaberite kontrolu oznake koja prikazuje datum sljedeće obveze. Postavite svojstvo Tekst na Text(First(appointmentsCollection).startDateTime, LongDate).
Odaberite kontrolu oznake koja prikazuje datum sljedeće obveze. Postavite svojstvo Tekst na First(appointmentsCollection).customer.name.
Odaberite F5 za pretpregled aplikacije. Na zaslonu Početno odaberite Obveze. Ova radnja izradit će zbirku Zbirka obveza. Zatvorite prozor za pretpregled i vratite se na Power Apps Studio.
U oknu Prikaz stabla odaberite kontrolu BrowseAppointmentsGallery na zaslonu Pretraživanje obveza. Promijenite formulu u svojstvu Stavke u sljedeću formulu.
Sort(Filter(appointmentsCollection, StartsWith(customer.name, TextSearchBox1\_1.Text)), startDateTime)Ova formula filtrira podatke prikazane na zaslonu prema imenu klijenta, omogućujući korisniku da unese ime klijenta. Obveze se prikazuju redoslijedom datuma i vremena.
U oknu Prikaz stabla proširite kontrolu BrowseAppointmentsGallery i odaberite kontrolu Title1_1. Promijenite svojstvo Tekst u sljedeće.
Text(ThisItem.startDateTime, LongDate)Ova formula prikazuje datumski dio polja Početni datum i vrijeme za obvezu.
U oknu Prikaz stabla proširite kontrolu BrowseAppointmentsGallery i odaberite kontrolu Subtitle1_1. Promijenite svojstvo Tekst u sljedeće.
Text(ThisItem.startDateTime, ShortTime24)
Ova formula prikazuje vremenski element polja Početni datum i vrijeme.
U oknu Prikaz stabla proširite kontrolu BrowseAppointmentsGallery i odaberite kontrolu Body1_1. Promijenite svojstvo Tekst u sljedeće.
ThisItem.customer.nameU oknu Prikaz stabla odaberite kontrolu IconRefresh1_1 na zaslonu Pretraživanje obveza. Postavite radnju OnSelect na sljedeću formulu.
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime));U oknu Prikaz stabla proširite zaslonu Detalji o obvezama i odaberite kontrolu DetailForm1_1. Postavite svojstvo Izvor podataka na Zbirka obveza.
U oknu Prikaz stabla odaberite kontrolu IconEdit1. Izmijenite formulu u svojstvu Način prikaza za testiranje zbirke Zbirka obveza.
If(DataSourceInfo(**appointmentsCollection**, DataSourceInfo.EditPermission), DisplayMode.Edit, DisplayMode.Disabled)U oknu Prikaz stabla proširite zaslonu Obrazac s detaljima1_1 i odaberite kontrolu Customer Name_DataCard1. Promijenite svojstvo Zadano u ThisItem.customername.
Promijenite svojstva Zadano preostalih podatkovnih kartica na slijedeći način:
- Adresa klijenta_DataCard1: ThisItem.customer.address
- Broj za kontakt_DataCard1: ThisItem.customer.contactNumber
- Detalji problema_DataCard1: ThisItem.problemDetails
- Status_DataCard1: ThisItem.appointmentStatus.statusName
- Bilješke_DataCard1: ThisItem.notes
- Slika_DataCard1_1: ThisItem.imageUrl
U oknu Prikaz stabla proširite zaslon Uređivanje obveza, a zatim odaberite kontrolu EditForm1. Postavite svojstvo Izvor podataka na Zbirka obveza.
U oknu Prikaz stabla proširite kontrolu EditForm1 i odaberite kontrolu Ime klijenta_DataCard3. Promijenite svojstvo Zadano u ThisItem.customername.
Promijenite svojstva Zadano preostalih podatkovnih kartica na slijedeći način:
- Kontakt broj_DataCard2: ThisItem.customer.contactNumber; dodatno promijenite svojstvo Maksimalna dužina u 20
- Detalji problema_DataCard2: ThisItem.problemDetails
- Status_DataCard5: ThisItem.appointmentStatus.statusName
- Bilješke_DataCard3: ThisItem.notes
- Slika_DataCard2: ThisItem.imageUrl
U oknu Prikaz stabla proširite kontrolu Detalji problema_Card2. Preimenujte polje Vrijednost podatkovne karticeX (X bit će broj) u ovoj kontroli u ProblemDetailsValue. Ponovite ovaj postupak za kontrolu Vrijednost podatkovne karticaX na sljedećim podatkovnim karticama:
- Status_ DataCard5: StatusValue
- Bilješke_DataCard3: NotesValue
Napomena
Kontrola Slika bit će obrađena u sljedećem poglavlju.
Odaberite Vrijednost detalja o problemu i postavite svojstvo Maksimalna dužina na 100.
U oknu Prikaz stabla odaberite kontrolu IconAccept1, a zatim odaberite zaslon Obrazac za uređivanje1. Postavite svojstvo radnje OnSelect na sljedeć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 operaciju STAVLJANJE za kontroler Obveze u API-ju za web. Kao prvi parametar prosljeđuje ID obveze za trenutačnu obvezu, nakon čega slijede detalji koje je korisnik možda izmijenio na zaslonu. Detalji se prenose kao JSON objekt. Izjave Uklni, Postavi i Prikupi ažuriraju zbirku Zbirka obveza s podacima spremljenim u bazu podataka.
Napomena
Nemojte upotrebljavati funkciju Ukloni zbirku za brisanje i osvježavanje cijele zbirke u ovakvim situacijama jer bi bilo rasipno, ako, na primjer, promijenio se samo jedan zapis.
U oknu Prikaz stabla odaberite kontrolu IconAccept1, a zatim odaberite zaslon Obrazac za uređivanje1. Postavite svojstvo radnje OnSelect na sljedeću formulu.
ResetForm(EditForm1); Navigate(AppointmentDetails, ScreenTransition.None);Na lijevom oknu na kartici Podaci desnom tipkom miša kliknite podatkovnu vezu Obveze, a zatim odaberite Ukloni kako biste je izbrisali iz aplikacije.
Spremite aplikaciju.
Odaberite F5 za pretpregled aplikacije. Na zaslonu Početno otvorite zaslon Obveza, odaberite i uredite obvezu, a zatim spremite promjene. Provjera je li obveza ažurirana
Zatvorite prozor za pretpregled i vratite se na Power Apps Studio.
Izrada usluge Azure kognitivnog pretraživanja za terensku bazu znanja
Zaslon baze znanja u aplikaciji trenutačno nije priključen ni na jedan izvor podataka. API za web uključuje operacije za slanje upita i ažuriranje tablica Savjeti, Dijelovi bojlera i Inženjeri u bazi podataka KnowledgeDB. Međutim, svrha zaslona Upit u aplikaciji podržava podržavanje pretraživanja u svim ovim tablicama. Količina podataka u ovim tablicama vjerojatno će se brzo povećati, pa su Maria, Kiana i Preeti odlučile primijeniti Azure kognitivno pretraživanje kako bi podržale ovu značajku. Aplikacija može slati upite i primati rezultate od Azure kognitivnog pretraživanja putem prilagođenog poveznika
Azure kognitivno pretraživanje najbolje funkcionira ako su podaci koje treba pretraživati sadržani u jednom entitetu baze podataka. Kiana izrađuje prikaz u bazi podaaka KnowledgeDB koja predstavlja jedinstveni prikaz tablica Savjeti, Dijelovi boljlera i Inženjeri na sljedeći način:
Na Azure portalu otvorite stranicu Baza znanja SQL baze podataka.
U lijevom oknu odaberite Uređivač upita i prijavite se u bazu podataka kao sqladmin koristeći lozinku Pa55w.rd.

U prozor za upit unesite sljedeću izjavu, a zatim odaberite 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
Provjerite je li prikaz Znanje uspješno izrađen.
U lijevom oknu odaberite Nizovi veze. Zabilježite niz veze ADO.NET; trebat će vam kad konfigurirate Azure kognitivno pretraživanje.

Surađujući s Kianom, Preeti konfigurira novu instancu Azure kognitivnog pretraživanja za pretraživanje redaka u prikazu Znanje na sljedeći način:
Na stranici Početno, na Azure portalu odaberite + Izradi resurs, unesite Azure kognitivno pretraživanje, odaberite Unos, a zatim odaberite Izradi.

Na stranici Nova usluga pretraživanja unesite sljedeće postavke, a zatim odaberite Pregledaj + izradi:
- Pretplata: Odaberite Azure pretplatu
- Grupa resursa: webapi_rg
- Naziv usluge: Unesite jedinstveni naziv za uslugu
- Naziv lokacije: Odaberite svoju najbližu regiju
- Raspon cijena: Besplatno
Na stranici provjere valjanosti odaberite Izradi i pričekajte dok se ne dodijeli usluga.
Otvorite stranicu nove usluge pretraživanja, odaberite Pregled, zabilježite URL (ovo će vam trebati kasnije kada izradite prilagođeni poveznik za Power Apps), a zatim odaberite Uvoz podataka.

Na stranici Uvoz podataka, u okviru s padajućim popisom Izvor podataka odaberite Baza podataka Azure SQL.

Na stranici Povezivanje sa svojim podacima navedite sljedeće postavke:
- Izvor podataka: Baza podatka Azure SQL
- Naziv izvora podataka: baza podataka
- Niz veze: Unesite niz veze za bazu podataka Azure SQL za bazu podataka KnowledgDB koju ste ranije zabilježili; u ovom nizu obavezno postavite lozinku na Pa55w.rd
- Ostavite zadane vrijednosti polja ID korisnika i Lozinka; ove se stavke dohvaćaju iz niza veze
Odaberite Testiraj vezu. Provjerite je li test uspješan, odaberite [Znanje] na podajućem popisu Tablica/prikaz, a zatim odaberite Dalje: Dodavanje kognitivne vještine (po izboru).

Na stranici Dodavanje kognitivne vještine (po izboru) odaberite Preskoči na: Prilagodba ciljnog indeksa.
Na stranici Prilagodba ciljnog indeksa odaberite Dohvatljivo za sve stupce i Pretraživo za Predmet, Tijelo, Naziv i Pregled. Odaberite Dalje: Izrada indeksiranja.

Na stranici Izrada indeksiranja promijenite Naziv indeksiranja u indeksiranje baze podataka. Za Raspored odaberite Po satima, postavite Visoki stupac vodenog žiga na ID, a zatim odaberite Pošalji:

Da biste testirali indeksiranje, na stranici Pregled za uslugu pretraživanja, odaberite Eksplorer za pretraživanje:

U polje Niz upita unesite riječ koju tražite u bazi znanja, a zatim odaberite Traži. Usluga pretraživanja trebala bi generirati popis dokumenata kojima se podudaraju polja Predmet, Tijelo, Naziv ili Pregled i prikažite ih u oknu Rezultati. Zabilježite Zatraži URL i ogledne Rezultate ; ove će vam stavke trebati kasnije kao primjer zahtjeva i odgovora kada postavite prilagođeni poveznik za Power Apps.

Izrada prilagođenog poveznika za uslugu Azure kognitivnog pretraživanja
Kiana sada može izraditi prilagođeni konektor koji Power Apps upotrebljava za slanje zahtjeva za pretraživanje usluzi pretraživanja. Ona to radi koristeći Power Apps Studio na sljedeći način:
Prijavite se u sustav Power Apps.
U lijevom oknu proširite odjeljak Podaci, a zatim odaberite Prilagođeni poveznici. U desnom oknu odaberite + Novi prilagođeni poveznik, a zatim odaberite Izradi iz praznog:

U dijalogu Izradi iz praznog postavite naziv novog poveznika na VanArsdelKBConnector, a zatim odaberite Nastavi:

Na stranici Opće informacije unesite opis i postavite stavku Shema na HTTPS. U okvir Poslužitelji unesite URL za svoju uslugu pretraživanja (ranije ste zabilježili ovaj URL), ali bez prefiksa https://, a zatim odaberite Sigurnost.

Na stranici Sigurnost u okviru s padajućim izbornikom Provjera autentičnosti odaberite Ključ za API. U polje Oznaka parametra unesite api-ključ. U polje Naziv parametra unesite api-ključ. Odaberite Definicija.

Na stranici Definicija odaberite Nova radnja. U polje Sažetak unesite Upit. U polje Opis unesite Pošalji upit bazi znanja. U polje ID operacije unesite Upit. U odjeljak Zahtjev odaberite + Uvoz iz uzorka.

U dijalogu Uvezi iz uzorkaI unesite sljedeće vrijednosti, a zatim odaberite Uvezi:
- Glagol: DOHVATITI
- URL: Navedite primjer URL-a zahtjeva koji ste zabilježili prilikom ranijeg testiranja usluge pretraživanja u eksploreru za pretraživanje
- Zaglavlje: Content-type

Natrag na stranici Definicija pomaknite se dolje do odjeljka Upit, odaberite gumb s tri točke pokraj stavke pretraživanje, a zatim odaberite Uredi.

Na zaslonu za uređivanje, u odjeljku Parametri, u polju Zadana vrijednost unesite zvjezdicu (*_). Ostala polja ostavite na zadanim vrijednostima, a zatim odaberite _ Natrag.

Natrag na stranici Definicija pomaknite se dolje do odjeljka Upit, odaberite gumb s tri točke pokraj stavke api-verzija, a zatim odaberite Uredi.

Na zaslonu za uređivanje, u odjeljku Parametri, u polju Zadana vrijednost, unesite 2020-06-30-Pregled (ovo je verzija povezana s trenutačnom verzijom Azure kognitivnog pretraživanja; verziju možete vidjeti u URL-u zahtjeva koji ste ranije zabilježili). Postavite Je li potrebno na Da i postavite Vidljivost na unutarnja. Ostala polja ostavite na zadanim vrijednostima, a zatim odaberite Natrag.

Na stranici Definicija pomaknite se dolje do odjeljka Odgovor i odaberite + Dodaj zadani odgovor.
]U dijalogu Uvoz iz uzorka, u polju Zaglavlja, unesite tekst Vrsta sadržaja. U polje Tijelo unesite primjere rezultata koje ste zabilježili prilikom testiranja usluge pretraživanja, a zatim odaberite Uvoz.

Na stranici Definicija odaberite zadani odgovor.

U polje Opis odgovora Vrsta sadržaja unesite aplikacija/json, a zatim odaberite Natrag.

Napomena
Odjeljak Tijelo na ovoj stranici trebao bi prikazati polja odgovora, kao što su Tijelo, ID, Naziv, Pregled i Predmet ako je uspješno raščlanjen.
Odaberite Izrada poveznika.

Poveznik bi se trebao izraditi bez prijavljivanja pogrešaka ili upozorenja.
Ažuriranje aplikacije za upotrebu Azure kognitivnog pretraživanja: terenska baza znanja
Maria sada može upotrijebiti prilagođeni konektor u aplikaciji. Ali prvo joj je potreban ključ koji joj dodjeljuje privilegije potrebne za povezivanje s uslugom Azure kognitivno pretraživanje. Preeti dobiva ključ na stranici Ključevi usluge na portalu Azure i daje ga Mariji.

Maria uređuje aplikaciju na usluzi Power Apps Studio i obavlja sljedeće zadatke:
Otvorite aplikaciju VanArsdelApp za uređivanje.
U izborniku Prikaz odaberite Izvori podataka, a zatim odaberite Dodaj podatke.

U okvir Traženje, u odjeljak Odabir izvora podataka unesite Van. Poveznik VanArdelKBConnector treba biti naveden.

Odaberite poveznik VanArdelKBConnector. U okno VanArdelKBConnector unesite ključ koji je Preeti pružio za uslugu pretraživanja, a zatim odaberite Poveži.

U izborniku Datoteka spremite i zatvorite aplikaciju, a zatim je ponovno otvorite. Možda će se od vas zatražiti da odobrite upotrebu prilagođenog poveznika kada se aplikacija ponovo otvori.
Napomena
Ovaj je korak potreban za omogućavanje prilagođenog poveznika.
U oknu Prikaz stabla proširite zaslon Baza znanja, a zatim odaberite kontrolu TextSearchBox2. Unesite sljedeću formulu za radnju OnChange.
If(!IsBlank(TextSearchBox2.Text), ClearCollect(azResult, VanArsdelKBConnector.Query({search: TextSearchBox2.Text}).value))Ova formula poziva operaciju Upit prilagođenog poveznika koji traži stavke koje se podudaraju s pojmom koji korisnik upisuje u okvir za pretraživanje. Rezulttai se pohranjuju u zbirku pod nazivom azResult.
U oknu Prikaz stabla na zaslonu Baza znanja, odaberite kontrolu BrowseGallery2. Postavite svojstvo Stavke na azResult.
Proširite kontrolu BrowseGallery2 i uklonite kontrolu Image4.
Odaberite kontrolu Title2. Postavite sljedeća svojstva:
- Tekst: ThisItem.Subject
- X: 24
- Širina: Parent.TemplateWidth - 104
Odaberite kontrolu Subtitle2. Postavite svojstvo Tekst na ThisItem.Body.
Odaberite F5 za pretpregled aplikacije. Na zaslonu Baza znanja unesute pojam za pretraživanje, a zatim odaberite Unos. Trebali bi biti prikazani odgovarajući članci iz baze znanja.

Napomena
Zaslon s detaljima još nije izrađen, pa odabirom ikone > pokraj članka ne radi.
Zatvorite prozor za pretpregled i vratite se na Power Apps Studio.
U oknu Prikaz stabla kliknite desnom tipkom miša zaslon Detalji o dijelovima i odaberite Dvostruki zaslon. Ova će radnja dodati još jedan zaslon aplikaciji pod nazivom Detalji o dijelovima_1.

U oknu Prikaz stabla preimenujte zaslon Detalji_1 u Detalji baze znanja.
Odaberite kontrolu LblAppNameX na zaslonu; poostavite svojstvo Tekst na "Detalji o članku" (uključujući citate).
U oknu Prikaz stabla odaberite kontrolu DetailFormX na zaslonu. Postavite sljedeća svojstva:
- Izvor podataka: azResult
- Stavka: BrowseGallery2.Selected
Napomena
BrowseGallery2 je galerija pretraživanja na zaslonu Baza znanja. U vašoj aplikaciji ova galerija može imati drugačiji naziv.
U oknu Prikaz stabla proširite obrazac DetailFormX, a zatim promijenite imena sljedećih kontrola podatkovne kartice:
- Name_DataCard1_1: Name_DataCard
- CategoryID_DataCard1_1: Subject_DataCard
- Overview_DataCard1_1: Overview_DataCard
- Price_DataCard1_1: Body_DataCard
Izbrišite kontrole NumberInStock_DataCard1_1 and Image_DataCard1_1.
Odaberite kontrolu Name_DataCard. Promijenite svojstvo Zadano u ThisItem.Name.
Odaberite kontrolu Subject_DataCard. Postavite sljedeća svojstva:
- Polje s podacima: "Predmet"
- Naziv za prikaz: "Predmet"
- Zadano: ThisItem.Subject
Odaberite kontrolu Overview_DataCard. Postavite svojstvo Zadano na ThisItem.Overview.
Odaberite kontrolu Body_DataCard. Postavite sljedeća svojstva:
- Polje s podacima: "Predmet"
- Naziv za prikaz: "Predmet"
- Zadano: ThisItem.Body
Odaberite kontrolu DataCardValueX u kontroli Body_DataCard. Postavite svojstvo Tekst na Parent.Default.
Promijenite veličinu svake kontrole podatkovne kartice da biste ih raširili po zaslonu.

Odaberite strelicu za povratak u zaglavlju zaslona. Promijenite svojstvo radnje OnSelect u Navigate(Knowledgebase, ScreenTransition.None).
U oknu Prikaz stabla odaberite zaslon Baza znanja, a zatim odaberite kontrolu BrowseGalleryX. Promijenite svojstvo radnje OnSelect u Navigate(KnowledgebaseDetails, ScreenTransition.None). Ova radnja prikazuje zaslon s detaljima članka iz baze znanja kada korisnik odabere ikonu > za unos u zaslon za pretraživanje.
Spremite aplikaciju.
Odaberite F5 za pretpregled aplikacije. Na zaslonu Baza znanja unesute pojam za pretraživanje, a zatim odaberite Unos. Odaberite članak i provjerite prikazuju li se njegovi detalji. Provjerite vraća li ikona Natrag vraća korisnika na zaslon za pretraživanje.
Zatvorite prozor za pretpregled i vratite se na Power Apps Studio.
Maria, Kiana i Preeti uspješno su uključile API za web i Azure kognitivno pretraživanje u aplikaciju.