Kapitola 6: Používání webového rozhraní API v aplikaci
Maria a Kiana jsou připraveny aplikaci zkombinovat s webovým API. Než však budou pokračovat, rozhodnou se konzultovat s Preeti, IT Operations Managerem.
Pochopení požadavků na správu IT operací pro webové API
Preeti se obává, že aplikace a webové rozhraní API musí být zabezpečené, protože poskytují přístup k citlivým datům uloženým v různých databázích. Chce záruky, že bude moci zahrnout ověřování a autorizaci, aby zabránila neoprávněnému přístupu k informacím. Preeti si rovněž uvědomuje, že společnost se rychle rozšiřuje a objem dat zapojených do správy zákazníků, schůzek, dílů a znalostní báze se v blízké budoucnosti pravděpodobně exponenciálně zvýší. Proto chce, aby řešení bylo škálovatelné.
Kiana vysvětluje Preeti, že webové rozhraní API je aktuálně implementováno pomocí Azure App Service. Tato služba podporuje řadu poskytovatelů ověřování, které může Preeti konfigurovat pomocí webu Azure Portal. Preeti se zvláště zajímá o Azure Active Directory, protože VanArsdel se v blízké budoucnosti snaží zavést tuto formu ověřování do mnoha svých dalších podnikových systémů.

App Service také poskytuje horizontální a vertikální škálovatelnost. V případě potřeby může Preeti rozšířit prostředky dostupné pro webové rozhraní API upgradem plánu App Service pro webovou aplikaci:

Může také zajistit, aby systém horizontálně rozšířil kapacitu konfigurací automatického škálování. App Service umožňuje správci operací definovat pravidla automatického škálování, která určují podmínky, za kterých by měl systém škálovat ve více instancích, když se zatížení zvýší, nebo se znovu vrátí, když poklesne poptávka. Může také nakonfigurovat preventivní automatické škálování podle plánu:

Klíčovou součástí role IT Operations Manager je mít přehled o tom, jak se systémy mohou vyvíjet, a zajistit, aby podkladové podpůrné struktury zvládly budoucí expanzi a změny. Preeti ví, že webové rozhraní API vyvinuté Kianou může být v budoucnu rozšířeno a znovu použito jinými systémy VanArsdel. Musí být schopna spravovat a řídit způsob, jakým vývojáři požadují použití webového rozhraní API, chránit jej jako cenný zdroj a monitorovat jeho používání. Proto se Preeti rozhodne chránit webové rozhraní API za službou Azure API Management.
Správa rozhraní API poskytuje webovému rozhraní API další vrstvu zabezpečení a také umožňuje podrobné monitorování a kontrolu nad tím, kteří klienti mají přístup ke kterým operacím. Pomocí rozhraní API Management může Preeti spravovat využití zdrojů a omezovat výkon klientů s nízkou prioritou, aby zajistila rychlejší obsluhu kritických aplikací s vyšší prioritou.
Pro informace o službách, které poskytuje správa rozhraní API, přejděte na O správě API Management.
Vytvoření služby API Management
Preeti vytvořila službu API Management prostřednictvím Azure Portal pomocí následujících kroků:
Přihlaste se na Azure Portal a na Domovské stránce vyberte Vytvořte zdroj.

do textového pole Prohledejte MarketPlace zadejte API Management a potom vyberte Enter.
Na stránce API Management vyberte Vytvořit.

Na stránce Vytvořit API Management zadejte následující hodnoty a poté vyberte Zkontrolovat + vytvořit:
- Předplatné: Vyberte předplatné.
- Skupina zdrojů: webapi_rg (toto je stejná skupina prostředků, kterou jste vytvořili pro App Service)
- Region: Vyberte nejbližší region
- Název zdroje: Zadejte jedinečný název pro službu.
- Název organizace: VanArsdel
- E-mail správce: itadmin@vanarsdel.com
- Cenová úroveň: Vývojář (bez SLA)
Poznámka
Nepoužívejte cenovou úroveň Vývojář pro produkční systém.

Na stránce ověření vyberte Vytvořit a počkejte, až se vytvoří služba API Management.
Poznámka
Zřízení služby API Management může trvat 30 minut nebo více; buďte trpěliví.
Publikování webového rozhraní API prostřednictvím API Management
Poté, co byla vytvořena služba API Management, Preeti publikovala webové API, aby bylo přístupné dalším službám a aplikacím. Postupovala takto:
Na webu Azure Portal přejděte do služby API Management.
Na stránce Služba API Management v levém podokně pod API vyberte API:

V podokně Přidat nové rozhraní API vyberte OpenAPI:

V dialogovém okně Vytvořit ze specifikace OpenAPI zadejte následující hodnoty a poté vyberte Vytvořit:
- Specifikace OpenAPI: https://<webapp name>.azurewebsites.net/swagger/v1/swagger.json, kde <webapp name> je název App Service hostující vaše Web API
- Zobrazovaný název: API terénního technika
- Název: field-engineer-api
- Přípona adresy URL API: Ponechte prázdné
- Základní URL: Použijte výchozí URL

Po vytvoření API terénního technika vyberte kartu Nastavení na pro API, nastavte URL webové služby na https://<webapp name>.azurewebsites.net a potom vyberte Uložit:

Na kartě Test vyberte GET rozhraní API / URI schůzek a potom vyberte Poslat:

Ověřte, zda je požadavek úspěšný (návratový kód HTTP je 200 OK) a že vrací výsledek obsahující seznam schůzek v textu odpovědi:

Připojení k API Management z aplikace
Kiana a Maria nyní mohou spolupracovat na připojení aplikace vytvořené pomocí Power Apps k webovému API prostřednictvím služby API Management.
Prvním úkolem je vytvořit vlastní konektor, který aplikace používá ke komunikaci s API Management. To zahrnuje export API do prostředí Power Apps použitého k vytvoření aplikace, což Kiana dělá takto:
V Azure Portal přejděte na stránku služby API Management. kterou Preeti vytvořila.
V levém podokně pod API vyberte API.
Vyberte tlačítko se třemi tečkami pro API terénního technika a vyberte Export.

V podokně Export API vyberte Power Apps a Power Automate:

V podokně Exportovat API do PowerApps vyberte prostředí Power Apps, ve kterém jste vytvořili prototypovou aplikaci (Maria na následujícím obrázku) a poté vyberte Export.

Po exportu API vyberte API terénního technika. Na stránce Nastavení přejděte dolů do sekce Předplatné, vymažte Je vyžadováno předplatné a potom vyberte Uložit.

Prototypová aplikace používala pro zdroje dat sešity aplikace Excel. Nyní, když je k dispozici vlastní konektor pro webové rozhraní API, Maria provede následující kroky a přidá konektor do aplikace:
Přihlaste se do Power Apps
V levém podokně rozbalte Data a vyberte Vlastní kontektory. Měl by být uveden vlastní konektor field-engineer-api. Vyberte Vytvořit připojení.

V dialogovém okně field-engineer-api vyberte Vytvořit.

Po vytvoření připojení ověřte, zda se zobrazí v seznamu dostupných připojení.

V levém podokně vyberte Aplikace, vyberte VanArsdelApp a potom vyberte Upravit.

V levém podokně vyberte kartu Data. Vyberte Přidat data, vyberte tlačítko se třemi tečkami pro Konektory a potom vyberte Aktualizovat.

V seznamu konektorů vyberte konektor field-engineer-api.

V dialogovém okně field-engineer-api vyberte konektor field-engineer-api.

V podokně Data ověřte, že je v seznamu uvedený kontektor FieldEngineerApi.

Aktualizace aplikace pro použití konektoru: Správa zásob v terénu
Nyní, když bylo do aplikace přidáno připojení, může Maria upravit obrazovky a použít je k nahrazení sešitů aplikace Excel. To zahrnuje metodické propracování každé obrazovky a změnu zdroje dat. Žádné další změny by neměly být nutné. Začíná na obrazovce BrowseParts a PartDetails následovně:
Na Domovské obrazovce aplikace vyberte tlačítko Díly. Vlastnost akce OnSelect nastavte na tento vzorec.
ClearCollect(partsCollection, FieldEngineerAPI.getapiboilerparts()); Navigate(BrowseParts, ScreenTransition.Fade)Funkce ClearCollect vytvoří novou kolekci s názvem partsCollection a naplní ji daty, která jsou výsledkem volání operace getboilerparts v připojení FieldEngineerAPI.

Poznámka
Je dobrým zvykem načíst data do kolekce a odkazovat na tuto kolekci z jakýchkoli obrazovek, které tyto informace potřebují. Tento přístup může uložit různé obrazovky z opakovaného spouštění stejného dotazu a načítání stejných dat.
Vyberte F5 pro náhled aplikace.
Na Domovské obrazovce vyberte Díly. Tato akce vytvoří kolekci partsCollection. Zavřete okno náhledu a vraťte se na Power Apps Studio.
Poznámka
Účelem tohoto kroku je umožnit vám zobrazit data při úpravách obrazovky BrowseParts v následujících krocích.
Vyberte ovládací prvek BrowseGallery1 na obrazovce BrowseParts. Ve vzorci pro vlastnost Položky nahraďte odkaz na zdroj dat [@Table1] na partsCollection.
Tato změna bude mít za následek některé chyby. Je to proto, že názvy polí v původním sešitu aplikace Excel používaly velká písmena (Název, ID kategorie a Přehled), zatímco vlastnosti vrácené v těle odpovědi webového rozhraní API jsou uvedeny malými písmeny. Změňte tyto odkazy tak, aby používaly malá písmena. Vzorec by měl vypadat následovně.
SortByColumns(Search(FieldEngineerApi.getapiboilerparts(), TextSearchBox1.Text, "name", "categoryId", "overview"), "name", If(SortDescending1, Descending, Ascending))
Vyberte ovládací prvek IconRefresh1 v podokně Stromové zobrazení. Změňte akci OnSelect na vzorec ClearCollect(partsCollection, FieldEngineerAPI.getapiboilerparts()).
Poznámka
Původní vzorec pro tuto akci volá funkci Aktualizovat pro opětovné vyplnění daty pomocí připojení k původnímu zdroji dat. Nemůžete použít Aktualizovat s připojením, které spouští funkci pro načtení dat, takže s ním nebude fungovat FieldEngineerApi.getapiboilerparts(). Řešení v tomto kroku znovu vyplní kolekci partsCollection nejnovějšími daty.
V podokně Stromové zobrazení rozbalte ovládací prvek BrowseGallery1 a vyberte ovládací prvek Body1. Změňte vlastnost Text na ThisItem.overview.
Vyberte ovládací prvek Subtitle1 v podokně Stromové zobrazení. Změňte vlastnost Text na ThisItem.categoryId.
Vyberte ovládací prvek Název v podokně Stromové zobrazení. Změňte vlastnost Text na ThisItem.name.
V podokně Stromové zobrazení vyberte ovládací prvek DetailForm1 na obtazovce PartDetails. Změňte vlastnost DataSource z [@table1] na partsCollection.
V podokně Stromové zobrazení vyberte ovládací prvek Name_DataCard1 v DetailForm1. Změňte vlastnost Výchozí na ThisItem.name.

Změňte vlastnost Výchozí ovládacího prvku CategoryID_DataCard1 na ThisItem.categoryId.
Změňte vlastnost Výchozí ovládacího prvku Overview_DataCard1 na ThisItem.overview.
Změňte vlastnost Výchozí ovládacího prvku Price_DataCard1 na ThisItem.price.
Změňte vlastnost Výchozí ovládacího prvku NumberInStock_DataCard1 na ThisItem.numberInStock.
Změňte vlastnost Výchozí ovládacího prvku Image_DataCard1 na ThisItem.imageUrl.
V levém podokně na kartě Data klikněte pravým tlačítkem myši datové připojení Table1 a poté vyberte Odstranit pro jeho odstranění z aplikace. Toto připojení již není nutné.

Uložte aplikaci.
Poznámka
Aplikaci můžete rychle uložit bez použití nabídky Soubor výběrem Ctrl+S.
Vyberte F5 pro náhled aplikace. Obrazovky Procházet díly a Podrobnosti dílu by měly fungovat přesně jako dříve, tentokrát však načítají data z Databáze Azure SQL InventoryDB prostřednictvím webového rozhraní API, nikoli z místního souboru aplikace Excel.
Zavřete okno náhledu a vraťte se na Power Apps Studio.
Aktualizace aplikace pro použití konektoru: Plánování v terénu a poznámky
Maria pokračuje na obrazovkách BrowseAppointments, AppointmentDetails a EditAppointment. Data prezentovaná těmito obrazovkami v současné době pocházejí z tabulky Schůzky v jiném sešitu aplikace Excel.
Na Domovské obrazovce aplikace nastavte akci OnVisible na následující vzorec.
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime))Tento vzorec načte data schůzek do kolekce appointmentsCollection. Události jsou filtrovány, aby se načetly návštěvy naplánované na aktuální datum nebo po něm.
Vyberte ovládací prvek popisku, který zobrazuje čas další schůzky. Nastavte vlastnost Text majetek do Text(First(appointmentsCollection).startDateTime, ShortTime24).
Vyberte ovládací prvek popisku, který zobrazuje další další schůzky. Nastavte vlastnost Text majetek do Text(First(appointmentsCollection).startDateTime, LongDate).
Vyberte ovládací prvek popisku, který zobrazuje jméno zákazníka pro další schůzku. Nastavte vlastnost Text majetek do First(appointmentsCollection).customer.name.
Vyberte F5 pro náhled aplikace. Na Domovské obrazovce vyberte Schůzky. Tato akce vytvoří kolekci appointmentsCollection. Zavřete okno náhledu a vraťte se na Power Apps Studio.
V podokně Stromové zobrazení vyberte ovládací prvek BrowseAppointmentsGallery na obtazovce BrowseAppointments. Změňte vzorec ve vlasnosti Položky na následující vzorec.
Sort(Filter(appointmentsCollection, StartsWith(customer.name, TextSearchBox1\_1.Text)), startDateTime)Tento vzorec filtruje data zobrazená na obrazovce podle jména zákazníka, což uživateli umožňuje zadat jméno zákazníka. Události jsou zobrazeny v pořadí podle data a času.
V podokně Stromové zobrazení rozbalte ovládací prvek BrowseAppointmentsGallery a vyberte ovládací prvek Title1_1. Vlastnost Text změňte následujícím způsobem.
Text(ThisItem.startDateTime, LongDate)Tento vzorec zobrazuje datovou část pole startDateTime pro schůzku.
V podokně Stromové zobrazení rozbalte ovládací prvek BrowseAppointmentsGallery a vyberte ovládací prvek Subtitle1_1. Vlastnost Text změňte následujícím způsobem.
Text(ThisItem.startDateTime, ShortTime24)
Tento vzorec zobrazuje časový prvek pole startDateTime.
V podokně Stromové zobrazení rozbalte ovládací prvek BrowseAppointmentsGallery a vyberte ovládací prvek Body1_1. Vlastnost Text změňte následujícím způsobem.
ThisItem.customer.nameV podokně Stromové zobrazení vyberte ovládací prvek IconRefresh1_1 na obrazovce BrowseAppointments. Nastavte akci OnSelect na tento vzorec.
ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime));V podokně Stromové zobrazení rozbalte obrazovku AppointmentDetails a vyberte ovládací prvek DetailForm1_1. Nastavte vlastnost DataSource na appointmentsCollection.
Vyberte ovládací prvek IconEdit1 v podokně Stromové zobrazení. Upravte vzorec ve vlastnosti DisplayMode, chcete-li otestovat kolekci appoinmentsCollection.
If(DataSourceInfo(**appointmentsCollection**, DataSourceInfo.EditPermission), DisplayMode.Edit, DisplayMode.Disabled)V podokně Stromové zobrazení rozbalte obrazovku DetailForm1_1 a vyberte ovládací prvek Customer Name_DataCard1. Změňte vlastnost Výchozí na ThisItem.customer.name.
Změňte vlastnosti Výchozí zbývajících datových karet takto:
- Customer Address_DataCard1: ThisItem.customer.address
- Contact Number_DataCard1: ThisItem.customer.contactNumber
- Problem Details_DataCard1: ThisItem.problemDetails
- Status_DataCard1: ThisItem.appointmentStatus.statusName
- Notes_DataCard1: ThisItem.notes
- Image_DataCard1_1: ThisItem.imageUrl
V podokně Stromové zobrazení rozbalte obrazovku EditAppointment a vyberte ovládací prvek EditForm1 1. Nastavte vlastnost DataSource na appointmentsCollection.
V podokně Stromové zobrazení rozbalte ovládací prvek EditForm1 a vyberte ovládací prvek Customer Name_DataCard3. Změňte vlastnost Výchozí na ThisItem.customer.name.
Změňte vlastnosti Výchozí zbývajících datových karet takto:
- Contact Number_DataCard2: ThisItem.customer.contactNumber; navíc změňte vlastnost MaxLength na 20
- Problem Details_DataCard2: ThisItem.problemDetails
- Status_DataCard5: ThisItem.appointmentStatus.statusName
- Notes_DataCard3: ThisItem.notes
- Image_DataCard2: ThisItem.imageUrl
V podokně Stromové zorbazení rozbalte ovládací prvek Problem Details_Card2. Přejmenujte pole DataCardValueX (X bude číslo) pod tímto ovládacím prvkem na ProblemDetailsValue. Tento postup opakujte pro ovládací prvky DataCardValueX na následujících datových kartách:
- Status_DataCard5: StatusValue
- Notes_DataCard3: NotesValue
Poznámka
Ovládacím prvkem Image se budeme zabývat v následující kapitole.
Vyberte ProblemDetailsValue a nastavte vlastnost MaxLength na 100.
V podokně Stromové zobrazení vyberte ovládací prvek IconAccept1 na obrazovce EditAppointment. Vlastnost akce OnSelect nastavte na tento vzorec.
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);Tento vzorec volá operaci PUT pro kontrolér Schůzky ve webovém rozhraní API. Předává ID schůzky pro aktuální schůzku jako první parametr, následovaný podrobnostmi, které uživatel mohl na obrazovce upravit. Podrobnosti se předávají jako objekt JSON. Příkazy Odebrat, Nastavit a Sbírat aktualizují kolekci appointmentsCollection daty uloženými do databáze.
Poznámka
Nepoužívejte funkci ClearCollect k odstranění a aktualizaci celé kolekce v situacích, jako je tato, protože by bylo zbytečné, kdyby se—například—změnil pouze jeden záznam.
V podokně Stromové zobrazení vyberte ovládací prvek IconAccept1 na obrazovce EditAppointment. Vlastnost akce OnSelect nastavte na následující.
ResetForm(EditForm1); Navigate(AppointmentDetails, ScreenTransition.None);V levém podokně na kartě Data klikněte pravým tlačítkem myši datové připojení Schůzky a poté vyberte Odstranit pro jeho odstranění z aplikace.
Uložte aplikaci.
Vyberte F5 pro náhled aplikace. Z Domovské obrazovky přejděte na obrazovku Schůzky, vyberte a upravte událost a poté uložte změny. Ověřte, že byla schůzka aktualizována.
Zavřete okno náhledu a vraťte se na Power Apps Studio.
Vytvoření služby Azure Cognitive Search pro Znalostní bázi pro terénní práce
Obrazovka Knowledgebase v aplikaci není aktuálně připojena k žádnému zdroji dat. Webové rozhraní API obsahuje operace pro dotazování a aktualizaci tabulek Tipy, BoilerParts Technici v databázi KnowledgeDB. Účelem obrazovky Dotaz v aplikaci je však podpora vyhledávání ve všech těchto tabulkách. Objem dat v těchto tabulkách se pravděpodobně rychle zvýší, takže Maria, Kiana a Preeti se rozhodnou nasadit Azure Cognitive Search na podporu této funkce. Aplikace může odesílat dotazy a přijímat výsledky z Azure Cognitive Search prostřednictvím vlastního konektoru.
Azure Cognitive Search funguje nejlépe, pokud jsou data, která mají být prohledána, obsažena v jedné entitě databáze. Kiana vytváří zobrazení v zatabázi KnowledgeDB, která poskytuje jednotné zobrazení tbulek Tipy, BoilerParts a Technici následujícím způsobem:
V Azure Portal přejděte na stránku Databáze KnowledgeDB SQL strana.
V levém podokně vyberte Editor dotazů a přihlaste se do databáze jako sqladmin pomocí hesla Pa55w.rd.

V okně dotazu zadejte následující příkaz a poté vyberte Spustit.
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
Ověřte, že zobrazení Znalosti bylo úspěšně vytvořen.
V levém podokně vyberte Připojovací řetězec. Poznamenejte si připojovací řetězec ADO.NET; budete jej potřebovat při konfiguraci Kognitivního vyhledávání Azure.

Při práci s Kianou Preeti konfiguruje novou instanci služby Azure Cognitive Search k provádění vyhledávání na řádcích v zobrazení Znalosti takto:
Na Domovské stránce v Azure Portal vyberte + Vytvořte zdroj, zadejte Kognitivní vyhledávání Azure, vyberte Enter a potom vyberte Vytvořit.

Na stránce Nová služba vyhledávání zadejte následující nastavení a poté vyberte Zkontrolovat + vytvořit:
- Předplatné: Vyberte svoje předplatné Azure
- Skupina zdrojů: webapi_rg
- Název služby: Zadejte jedinečný název pro službu.
- Název umístění: Vyberte nejbližší region
- Cenová úroveň: Zdarma
Na stránce ověření vyberte Vytvořit a počkejte, až se služba zřídí.
Přejděte na stránku nové vyhledávací služby a vyberte Přehled, poznamenejte si URL (Toto budete potřebovat později, když vytvoříte vlastní konektor pro Power Apps) a poté vyberte Importovat data.

Na stránce Importovat data v rozevíradcím seznamu Zdroj dat vyberte Azure SQL Database.

Na stránce Připojte se ke svým datům zadejte následující nastavení:
- Zdroj dat: Azure SQL Database
- Název zdroje dat: knowledgebase
- Připojovací řetězec: Zadejte připojovací řetězec Azure SQL Database pro databázi KnowledgDB, kterou jste zaznamenali dříve; v tomto řetězci nezapomeňte nastavit heslo na Pa55w.rd
- Ponechte pole ID uživatele a Heslo vejjich výchozích hodnotách; tyto položky jsou načteny z připojovacího řetězce
Vyberte Testovat připojení. Ujistěte se, že je test úspěšný, vyberte [Znalosti] v rozevíracím seznamu Tabulka/Zobrazení a poté vyberte Další: Přidejte kognitivní dovednosti (volitelně).

Na stránce Přidejte kognitivní dovednosti (volitelně) vyberte Přejít na: Přizpůsobit cílový index.
Na stránce Přizpůsobte cílový index vyberte Vyhledatelné pro všechny sloupce a Prohledávatelné pro Předmět, Text, Název a Přehled. Vyberte Další: Vytvořte indexovací modul.

Na stránce Vytvořte indexovací modul změňte indexovací modul Název na knowledgebase-indexer. Pro Plán vyberte Hodinový, nastavte Sloupec s vysokým vodoznakem na ID a potom vyberte Odeslat:

Chcete-li otestovat indexovací modul, na stránce Přehled vyhledávací služby vyberte Průzkumníka služby Search:

V poli Dotaz řetězec zadejte slovo, které chcete vyhledate znalostní bázi a poté vyberte Vyhledat. Vyhledávací služba by měla vygenerovat seznam dokumentů se shodou v polích Předmět, Text, Název nebo Přehled zobrazit je v podokně Výsledky. Poznamenejte si URL požadavku a vzorové Výsledky; tyto položky budete později potřebovat jako příklad požadavku a odpovědi při nastavování vlastního konektoru Power Apps.

Vytvoření vlastního konektoru pro služby Azure Cognitive Search
Kiana nyní může vytvořit vlastní konektor, který Power Apps používají k odesílání požadavků na vyhledávání do vyhledávací služby. Dělá to pomocí Power Apps Studio následovně:
Přihlaste se do Power Apps
V levém podokně rozbalte Data a vyberte Vlastní kontektory. V pravém podokně vyberte + Nový vlastní konektor a pak vyberte Vytvořit z prázdné:

V dialogovém okně Vytvořit z prázdné nastavte nový název konektoru na VanArsdelKBConnector a potom vyberte Pokračovat:

Na stránce Obecné informace zadejte popis a nastavte Schéma na HTTPS. Do pole Hostitelé zadejte adresu URL své vyhledávací služby (tuto adresu URL jste si dříve poznamenali), ale bez předpony https:// a poté vyberte Zabezpečení.

Na stránce Zabezpečení z rozevíracího seznamu Ověření vyberte Klíč API. Do pole Štítek parametru zadejte api-key. Do pole Název parametru zadejte api-key. Vyberte Definice.

Na stránce Definice vyberte Nová akce. Do pole Souhrn zadejte Dotaz. Do pole Popis zadejte Dotaz na znalostní databázi. Do pole ID operace zadejte Dotaz. V položce Žádost vyberte + Import ze vzorku.

V dialogovém okně Importovat ze vzorku zadejte následující hodnoty a poté vyberte Import:
- Příkaz GET
- URL: Uveďte ukázkovou adresu URL požadavku, kterou jste si poznamenali, když jste dříve testovali vyhledávací službu v průzkumníku
- Záhlaví: Content-type

Zpět na stránce Definice přejděte dolů do sekce Dotaz části, vyberte tlačítko se třemi tečkami vedle vyhledávání a potom vyberte Upravit.

Na obrazovce úprav v sekci Parametry do pole Výchozí hodnota zadejte hvězdičku (*_). Nechte ostatní pole v jejich výchozích hodnotách a pak vyberte _ Zpět.

Na stránce Definice v sekci Dotaz části, vyberte tlačítko se třemi tečkami vedle api-version a potom vyberte Upravit.

Na obrazovce úprav v sekci Parametry do pole Výchozí hodnota zadejte 2020-06-30-Preview (toto je verze přidružená k aktuální verzi Azure Cognitive Search; verzi můžete zobrazit v adrese URL požadavku, kterou jste si dříve poznamenali). Nastavte Je požadováno na Ano a nastavte Viditelnost na Jen pro vnitřní potřebu. Ponechejte ostatním polím jejich výchozí hodnoty a poté vyberte Zpět.

Na stránce Definice přejděte dolů na sekci Odezva a vyberte + Přidat výchozí odpověď.
]V dialogovém okně Import ze vzorku do pole Záhlaví zadejte text Content-type. Do pole Text zadejte ukázkové výsledky, které jste zaznamenali při testování vyhledávací služby, a poté vyberte Import.

Na stránce Definice vyberte výchozí odpověď.

Do pole Popis odpovědi Content-type zadejte aplikace/JSON a potom vyberte Zpět.

Poznámka
Sekce Text na této stránce by měla zobrazit pole odpovědi, například Text, ID, Název, Přehled a Předmět, pokud byla úspěšně analyzována.
Vyberte Vytvořit konektor.

Konektor by se měl vytvářet bez hlášení chyb nebo varování.
Aktualizace aplikace pro použití Azure Cognitive Search: Znalostní báze pro práci v terénu
Maria nyní může použít vlastní konektor v aplikaci. Nejprve ale vyžaduje klíč, který jí uděluje oprávnění potřebná pro připojení ke službě Azure Cognitive Search. Preeti získává klíč ze stránky Klíče pro službu na Azure Portal a dává jej Marii.

Maria upravuje aplikaci v Power Apps Studio a plní následující úkoly:
Otevřete aplikaci VanArsdelApp pro úpravy.
V nabídce Zobrazení vberte Zdroje dat a potom vyberte Přidat data.

Do pole Vyhledávání pod Vyberte zdroj dat zadejte Van. Měl by být uveden konektor VanArdelKBConnector.

Vyberte konektor VanArdelKBConnector. V podokně VanArdelKBConnector zadejte klíč, který Preeti poskytla vyhledávací službě, a poté vyberte Připojit.

V nabídce Soubor uložte a zavřete aplikaci a poté ji znovu otevřete. Při opětovném otevření aplikace se může zobrazit výzva k autorizaci použití vlastního konektoru.
Poznámka
Tento krok je nezbytný k povolení vlastního konektoru.
V podokně Stromové zobrazení rozbalte obrazovku Knowledgebase a vyberte ovládací prvek TextSearchBox2. Zadejte následující vzorec pro akci OnChange.
If(!IsBlank(TextSearchBox2.Text), ClearCollect(azResult, VanArsdelKBConnector.Query({search: TextSearchBox2.Text}).value))Tento vzorec volá operaci Dotaz vlastního konektoru vyhledávání položek, které odpovídají výrazu, který uživatel zadá do vyhledávacího pole. Výsledky jsou uloženy v kolekci s názvem azResult.
V podokně Stromové zobrazení na obrazovce Knowledgebase vyberte ovládací prvek BrowseGallery2. Nastavte vlastnost Položky na azResult.
Rozbalte ovládací prvek BrowseGallery2 a odstraňte ovládací prvek Image4.
Vyberte ovládací prvek Title2. Nastavte následující vlastnosti:
- Text: ThisItem.Subject
- X: 24
- Šířka: Parent.TemplateWidth - 104
Vyberte ovládací prvek Subtitle2. Nastavte vlastnost Text na ThisItem.Body.
Vyberte F5 pro náhled aplikace. Na obrazovce Znalostní báze zadejte hledaný termín a pak vyberte Enter. Měly by být zobrazeny odpovídající články ze znalostní báze.

Poznámka
Obrazovka podrobností ještě nebyla vytvořena, takže výběr ikony > vedle článku nefunguje.
Zavřete okno náhledu a vraťte se na Power Apps Studio.
V podokně Stromové zobrazení klikněte pravým tlačítkem na obrazovku PartDetails a vyberte Duplicitní obrazovka. Tato akce přidá do aplikace další obrazovku s názvem PartDetails_1.

V podokně Stromové zobrazení přejmenujte obrazovku PartDetails_1 na KnowledgebaseDetails.
Vyberte ovládací prvek LblAppNameX na obrazovce; nastavte vlastnost Text na „Podrobnosti o článku“ (včetně uvozovek).
V podokně Stromové zobrazení vyberte ovládací prvek DetailFormX na obrazovce. Nastavte následující vlastnosti:
- DataSource: azResult
- Item: BrowseGallery2.Selected
Poznámka
BrowseGallery2 je galerie procházení na obrazovce Znalostní báze. Ve vaší aplikaci může mít tato galerie jiný název.
V podokně Stromové zobrazení rozbalte formulář DetailFormX, poté změňte názvy následujících ovládacích prvků datové karty:
- Name_DataCard1_1: Name_DataCard
- CategoryID_DataCard1_1: Subject_DataCard
- Overview_DataCard1_1: Overview_DataCard
- Price_DataCard1_1: Body_DataCard
Odstraňte ovládací prvky NumberInStock_DataCard1_1 a Image_DataCard1_1.
Vyberte ovládací prvek Name_DataCard. Nastavte vlastnost Výchozí na ThisItem.Name.
Vyberte ovládací prvek Subject_DataCard. Nastavte následující vlastnosti:
- DataField: "Předmět"
- DisplayName: "Předmět"
- Výchozí: ThisItem.Subject
Vyberte ovládací prvek Overview_DataCard. Nastavte vlastnost Výchozí na ThisItem.Overview.
Vyberte ovládací prvek Body_DataCard. Nastavte následující vlastnosti:
- DataField: "Text"
- DisplayName: "Text"
- Výchozí: ThisItem.Body
Vyberte ovládací prvek DataCardValueX v ovládacím prvku Body_DataCard. Nastavte vlastnost Text na Parent.Default.
Změňte velikost všech ovládacích prvků datové karty a rozložte je dolů po obrazovce.

Vyberte šipku zpět v záhlaví obrazovky. Změňte vlastnost akce OnSelect na Navigate(Knowledgebase, ScreenTransition.None).
V podokně Stromové zobrazení vyberte obrazovku Knowledgebase a pak vyberte ovládací prvek BrowseGalleryX. Změňte vlastnost akce OnSelect na Navigate(KnowledgebaseDetails, ScreenTransition.None). Tato akce zobrazí obrazovku podrobností článku znalostní báze, když uživatel vybere ikonu > pro záznam na obrazovce procházení.
Uložte aplikaci.
Vyberte F5 pro náhled aplikace. Na obrazovce Znalostní báze zadejte hledaný termín a pak vyberte Enter. Vyberte článek a ověřte, zda jsou zobrazeny jeho podrobnosti. Ověřte, že ikona Zpět vrací uživatele na obrazovku procházení.
Zavřete okno náhledu a vraťte se na Power Apps Studio.
Maria, Kiana a Preeti úspěšně začlenily webové rozhraní API a Azure Cognitive Search do aplikace.
Váš názor
Odeslat a zobrazit názory pro