Κοινή χρήση μέσω


Κεφάλαιο 6: Χρήση του Web API στην εφαρμογή

Η Maria και η Kiana είναι έτοιμες να συνδυάσουν την εφαρμογή με το Web API. Ωστόσο, προτού προχωρήσουν, αποφασίζουν να συμβουλευθούν την Preeti, την επικεφαλής λειτουργιών IT.

Κατανόηση των απαιτήσεων διαχείρισης λειτουργιών IT για το Web API

Η Preeti ανησυχεί ότι η εφαρμογή και το Web API πρέπει να είναι ασφαλή επειδή παρέχουν πρόσβαση σε ευαίσθητα δεδομένα που είναι αποθηκευμένα σε διάφορες βάσεις δεδομένων. Η Preeti θέλει διαβεβαιώσεις ότι θα μπορεί να περιλαμβάνει έλεγχο ταυτότητας και εξουσιοδότηση, ώστε να μην επιτρέπεται η μη ηθελημένη πρόσβαση σε πληροφορίες. Η Preeti γνωρίζει επίσης ότι η εταιρεία αναπτύσσεται γρήγορα και ο όγκος των δεδομένων που εμπλέκονται στη διαχείριση πελατών, συναντήσεων, εξαρτημάτων και της γνωσιακής βάσης είναι πιθανό να αυξηθεί εκθετικά στο άμεσο μέλλον. Συνεπώς, θέλει τη δυνατότητα κλιμάκωσης της λύσης.

Η Kiana εξηγεί στην Preeti ότι το Web API υλοποιείται αυτή τη στιγμή με την Υπηρεσία εφαρμογής Azure. Αυτή η υπηρεσία υποστηρίζει διάφορες υπηρεσίες παροχής ελέγχου ταυτότητας, τις οποίες μπορεί να ρυθμίσει η Preeti χρησιμοποιώντας την πύλη Azure. Η Preeti ενδιαφέρεται ιδιαίτερα για το Microsoft Entra ID επειδή η VanArsdel θέλει να προσφέρει αυτήν τη μορφή ελέγχου ταυτότητας σε πολλά από τα άλλα εταιρικά συστήματά της στο άμεσο μέλλον.

Ρύθμιση παραμέτρων ελέγχου ταυτότητας υπηρεσίας εφαρμογής.

Η Υπηρεσία εφαρμογής παρέχει επίσης δυνατότητα οριζόντιας και κατακόρυφης κλιμάκωσης. Εάν είναι απαραίτητο, η Preeti μπορεί να κάνει κλιμάκωση ενίσχυσης των πόρων που είναι διαθέσιμοι στο Web API αναβαθμίζοντας το σχέδιο υπηρεσίας εφαρμογής για την εφαρμογή web:

Κλιμάκωση ενίσχυσης υπηρεσίας εφαρμογής.

Η Preeti επίσης μπορεί να ρυθμίσει την κλιμάκωση του συστήματος ρυθμίζοντας τις παραμέτρους του αυτόματου υπολογισμού. Η Υπηρεσία εφαρμογής δίνει σε έναν υπεύθυνο λειτουργιών τη δυνατότητα να ορίζει κανόνες αυτόματης μέτρησης, οι οποίοι καθορίζουν τις συνθήκες κάτω από τις οποίες το σύστημα θα πρέπει να κάνει κλιμάκωση διασποράς σε περισσότερες περιπτώσεις όταν ο φόρτος αυξάνεται ή να επιστρέψει ξανά καθώς αυξάνεται η ζήτηση. Η Preeti επίσης, μπορεί να ρυθμίσει τις παραμέτρους της προ-εκ των αυτόματης κλιμάκωσης ώστε να γίνεται σύμφωνα με το χρονοδιάγραμμα:

Κλιμάκωση διασποράς υπηρεσίας εφαρμογής.

Ένα βασικό στοιχείο του ρόλου ενός επικεφαλής λειτουργιών IT είναι ο έλεγχος του τρόπου εξέλιξης των συστημάτων και η διασφάλιση ότι οι υποκείμενες δομές υποστήριξης θα χειρίζονται τη μελλοντική ανάπτυξη και τις αλλαγές. Η Preeti γνωρίζει ότι το Web API που έχει αναπτυχθεί από την Kiana μπορεί να επεκταθεί και να ξαναχρησιμοποιηθεί από άλλα συστήματα της VanArsdel στο μέλλον. Η Preeti πρέπει να είναι σε θέση να διαχειρίζεται και να ελέγχει τον τρόπο με τον οποίο οι προγραμματιστές ζητούν τη χρήση του Web API, να το προστατεύει ως χρήσιμο πόρο και να παρακολουθεί τη χρήση του. Για αυτόν το λόγο, η Preeti αποφασίζει να προστατέψει το Web API πίσω από την υπηρεσία Διαχείρισης API Azure.

Η Διαχείριση API παρέχει ένα επιπλέον επίπεδο ασφάλειας σε ένα Web API και δίνει τη δυνατότητα λεπτομερούς παρακολούθησης και ελέγχου σχετικά με το ποια προγράμματα-πελάτες μπορούν να αποκτήσουν πρόσβαση σε ποιες λειτουργίες. Χρησιμοποιώντας τη Διαχείριση API, η Preeti μπορεί να διαχειριστεί τη χρήση των πόρων και να βελτιώσει την απόδοση των πελατών χαμηλής προτεραιότητας ώστε να διασφαλιστεί ότι οι εφαρμογές υψηλής προτεραιότητας θα εξυπηρετούνται πιο γρήγορα.

Για πληροφορίες σχετικά με τις υπηρεσίες που παρέχει η Διαχείριση API, μεταβείτε στην ενότητα Πληροφορίες για τη Διαχείριση API.

Δημιουργία μιας υπηρεσίας διαχείρισης API

Η Preeti δημιούργησε την υπηρεσία διαχείρισης API μέσω της πύλης Azure, ακολουθώντας τα παρακάτω βήματα:

  1. Συνδεθείτε στην Πύλη Azure και στη σελίδα Κεντρική, επιλέξτε Δημιουργία ενός πόρου.

    Αρχική σελίδα πύλης Azure.

  2. Στο κείμενο Αναζήτηση στο Marketplace, εισαγάγετε το στοιχείο Διαχείριση API και, στη συνέχεια, επιλέξτε Εισαγωγή.

  3. Στη σελίδα Διαχείριση API, επιλέξτε Δημιουργία.

    Σελίδα δημιουργίας υπηρεσίας διαχείρισης API Azure.

  4. Στη σελίδα Δημιουργία διαχείρισης API, εισαγάγετε τις παρακάτω τιμές και μετά επιλέξτε Αναθεώρηση + δημιουργία:

    • Συνδρομή: Επιλέξτε τη συνδρομή σας
    • Ομάδα πόρων: webapi_rg (πρόκειται για την ίδια ομάδα πόρων που δημιουργήσατε για την υπηρεσία εφαρμογής)
    • Περιοχή: Επιλέξτε την πλησιέστερη περιοχή σας
    • Όνομα πόρου: Εισαγάγετε ένα μοναδικό όνομα για την υπηρεσία
    • Όνομα οργανισμού: VanArsdel
    • Ηλεκτρονικό ταχυδρομείο διαχειριστή: itadmin@vanarsdel.com
    • Επίπεδο τιμολόγησης: Προγραμματιστής (χωρίς SLA)

    Σημείωμα

    Μην χρησιμοποιείτε το επίπεδο τιμολόγησης Προγραμματιστής για ένα σύστημα παραγωγής.

    Σελίδα νέας υπηρεσίας διαχείρισης API.

  5. Στη σελίδα επαλήθευσης, επιλέξτε Δημιουργία και περιμένετε μέχρι να δημιουργηθεί η υπηρεσία διαχείρισης API.

    Σημείωμα

    Για την παροχή της υπηρεσίας διαχείρισης API μπορεί να χρειαστούν 30 λεπτά ή περισσότερο. να είστε υπομονετικοί.

Δημοσίευση του Web API μέσω της Διαχείρισης API

Μετά τη δημιουργία της υπηρεσίας Διαχείρισης API, η Preeti δημοσιεύει το Web API ώστε να είναι προσβάσιμο σε άλλες υπηρεσίες και εφαρμογές εκτελώντας τα παρακάτω βήματα:

  1. Στην πύλη Azure, μεταβείτε στην υπηρεσία διαχείρισης API.

  2. Στη σελίδα Υπηρεσία διαχείρισης API, στο αριστερό τμήμα παραθύρου κάτω από τα API, επιλέξτε API:

    Σελίδα υπηρεσίας διαχείρισης API Επιλέξτε APIs.

  3. Στο τμήμα παραθύρου Προσθήκη νέου API, επιλέξτε OpenAPI:

    Σελίδα υπηρεσίας διαχείρισης API. Επιλέξτε OpenAPI.

  4. Στο παράθυρο διαλόγου Δημιουργία από προδιαγραφές OpenAPI, εισαγάγετε τις ακόλουθες τιμές και, στη συνέχεια, επιλέξτε Δημιουργία:

    • Προδιαγραφή OpenAPI: https://<webapp name>.azurewebsites.net/swagger/v1/swagger.json, όπου <webapp name> είναι το όνομα της υπηρεσίας εφαρμογής που φιλοξενεί το Web API σας
    • Εμφανιζόμενο όνομα: API μηχανικού πεδίου
    • Όνομα: field-engineer-api
    • Επίθεμα διεύθυνσης URL API: να παραμείνει κενό
    • Βασική διεύθυνση URL: Χρησιμοποιήστε την προεπιλεγμένη διεύθυνση URL

    Δημιουργήστε API από προδιαγραφές OpenAPI.

  5. Όταν δημιουργηθεί το API του μηχανικού πεδίου, επιλέξτε την καρτέλα Ρυθμίσεις για το API, ορίστε τη Διεύθυνση URL της υπηρεσίας Web σε https://<webapp name>.azurewebsites.net και μετά επιλέξτε Αποθήκευση:

    Διαμόρφωση παραμέτρων ρυθμίσεων API.

  6. Στην καρτέλα Δοκιμή, επιλέξτε το GET api/Appointments URI και, στη συνέχεια, επιλέξτε Αποστολή:

    Δοκιμή του GetAppointments API.

  7. Επαληθεύστε ότι η αίτηση είναι επιτυχής (ο κωδικός επιστροφής HTTP είναι 200 OK) και ότι επιστρέφει ένα αποτέλεσμα που περιέχει μια λίστα συναντήσεων στο σώμα της απόκρισης:

    Απόκριση από τη δοκιμή του API GetAppointments.

Σύνδεση στη Διαχείριση API από την εφαρμογή

Η Kiana και η Maria μπορούν πλέον να δουλεύουν μαζί για να συνδέσουν την ενσωματωμένη εφαρμογή με χρήση του Power Apps στο Web API μέσω της υπηρεσίας διαχείρισης API.

Η πρώτη εργασία είναι η δημιουργία μιας προσαρμοσμένης σύνδεσης που χρησιμοποιείται από την εφαρμογή για την επικοινωνία με τη Διαχείριση API. Αυτό σημαίνει ότι πρέπει να εξαγάγετε το API στο περιβάλλον Power Apps που χρησιμοποιείται για τη δημιουργία της εφαρμογής, κάτι το οποίο η Kiana κάνει ως εξής:

  1. Στην πύλη Azure, μεταβείτε στη σελίδα για την υπηρεσία διαχείρισης API που δημιούργησε η Preeti.

  2. Στο αριστερό τμήμα παραθύρου στην API, επιλέξτε API.

  3. Επιλέξτε το κουμπί με τα αποσιωπητικά για το API μηχανικού πεδίου και μετά επιλέξτε Εξαγωγή.

    Εξαγωγή του Web API.

  4. Στο τμήμα παραθύρου Εξαγωγή API, επιλέξτε Power Apps και Power Automate:

    Εξαγωγή του Web API στο Power Apps.

  5. Στο τμήμα παραθύρου Εξαγωγή ΑΡΙ σε PowerApps, επιλέξτε το περιβάλλον Power Apps στο οποίο δημιουργήσατε την πρωτότυπη εφαρμογή (Μaria στην παρακάτω εικόνα) και, στη συνέχεια, επιλέξτε Εξαγωγή.

    Εξαγωγή στο περιβάλλον Power Apps της Κατερίνας.

  6. Μετά την εξαγωγή του API, επιλέξτε το API μηχανικού πεδίου. Στη σελίδα Ρυθμίσεις, κάντε κύλιση προς τα κάτω στην ενότητα Συνδρομές, καταργήστε την επιλογή Απαιτείται συνδρομή και, στη συνέχεια, επιλέξτε Αποθήκευση.

    Αποεπιλογή απαιτούμενης συνδρομής.

Η πρωτότυπη εφαρμογή χρησιμοποιήθηκε σε βιβλία εργασίας Excel για τις προελεύσεις δεδομένων. Τώρα που είναι διαθέσιμη η προσαρμοσμένη σύνδεση για το Web API, η Maria εκτελεί τα παρακάτω βήματα για την προσθήκη της σύνδεσης στην εφαρμογή:

  1. Συνδεθείτε στο Power Apps.

  2. Στο αριστερό τμήμα παραθύρου, αναπτύξτε τα Δεδομένα και επιλέξτε Προσαρμοσμένες συνδέσεις. Θα πρέπει να παρατίθεται η προσαρμοσμένη σύνδεση field-engineer-api. Επιλέξτε Δημιουργία σύνδεσης.

    Δημιουργία νέας προσαρμοσμένης σύνδεσης.

  3. Στο παράθυρο διαλόγου field-engineer-api, επιλέξτε Δημιουργία.

    Δημιουργία σύνδεσης FieldEngineerAPI.

  4. Όταν δημιουργηθεί η σύνδεση, βεβαιωθείτε ότι εμφανίζεται στη λίστα διαθέσιμων συνδέσεων.

    Εμφάνιση διαθέσιμων συνδέσεων.

  5. Στο αριστερό τμήμα παραθύρου, επιλέξτε Εφαρμογές, επιλέξτε VanArdselApp και, στη συνέχεια, επιλέξτε Επεξεργασία.

    Επεξεργασία εφαρμογής VanArsdel.

  6. Στο αριστερό τμήμα παραθύρου, επιλέξτε την καρτέλα Δεδομένα. Επιλέξτε Προσθήκη δεδομένων, επιλέξτε το κουμπί αποσιωπητικών για Συνδέσεις και μετά επιλέξτε Ανανέωση.

    Ανανέωση προελεύσεων δεδομένων.

  7. Στη λίστα με τις συνδέσεις, επιλέξτε τη σύνδεση field-engineer-api.

    Προβολή συνδέσεων.

  8. Στο παράθυρο διαλόγου field-engineer-api, επιλέξτε τη σύνδεση field-engineer-api.

    Προσθήκη σύνδεσης FieldEngineerAPI.

  9. Στο τμήμα παραθύρου Δεδομένα, επαληθεύστε ότι παρατίθεται η σύνδεση FieldEngineerApi.

    Προστέθηκε η σύνδεση FieldEngineerAPI.

Ενημέρωση της εφαρμογής για χρήση της σύνδεσης: Διαχείριση αποθέματος πεδίου

Τώρα που έχει προστεθεί η σύνδεση στην εφαρμογή, η Maria μπορεί να τροποποιήσει τις οθόνες ώστε να τη χρησιμοποιήσει για να αντικαταστήσει τα βιβλία εργασίας του Excel. Αυτό προϋποθέτει τη μεθοδική εργασία σε κάθε οθόνη και την αλλαγή προέλευσης δεδομένων. Δεν θα πρέπει να απαιτούνται άλλες αλλαγές. Η Μαρία αρχίζει με τις οθόνες BrowseParts και PartDetails ως εξής:

  1. Στην Αρχική οθόνη της εφαρμογής, επιλέξτε το κουμπί Εξαρτήματα. Ορίστε την ενέργεια OnSelect στον παρακάτω τύπο.

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

    Η συνάρτηση ClearCollect δημιουργεί μια νέα συλλογή με το όνομα partsCollection και τη συμπληρώνει με τα δεδομένα που προκύπτουν από την κλήση της λειτουργίας getboilerparts στη σύνδεση FieldEngineerAPI.

    Δημιουργία μεταβλητής partsCollection.

    Σημείωμα

    Είναι καλή πρακτική να ανακτήσετε τα δεδομένα σε μια συλλογή και να ανατρέξετε σε αυτήν τη συλλογή από οθόνες που χρειάζονται τις πληροφορίες. Αυτή η προσέγγιση μπορεί να αποθηκεύει διαφορετικές οθόνες από την επανειλημμένη εκτέλεση του ίδιου ερωτήματος και τη λήψη των ίδιων δεδομένων.

  2. Επιλέξτε F5 για προεπισκόπηση της εφαρμογής.

  3. Στην Αρχική οθόνη, επιλέξτε Εξαρτήματα. Αυτή η ενέργεια θα δημιουργήσει τη συλλογή partsCollection. Κλείστε το παράθυρο προεπισκόπησης και επιστρέψτε στο Power Apps Studio.

    Σημείωμα

    Ο σκοπός αυτού του βήματος είναι να έχετε τη δυνατότητα να βλέπετε τα δεδομένα ενώ επεξεργάζεστε την οθόνη BrowseParts στα παρακάτω βήματα.

  4. Επιλέξτε το στοιχείο ελέγχου BrowseGallery1 στην οθόνη BrowseParts. Στον τύπο για την ιδιότητα Στοιχεία, αντικαταστήστε την αναφορά στην προέλευση δεδομένων [@Table1] σε partsCollection.

    Αυτή η αλλαγή θα έχει ως αποτέλεσμα ορισμένα σφάλματα. Αυτό συμβαίνει επειδή τα ονόματα πεδίων στο αρχικό βιβλίο εργασίας του Excel χρησιμοποιούσαν κεφαλαία (Όνομα, CategoryID και Επισκόπηση) ενώ οι ιδιότητες που επιστρέφονται στο σώμα της απόκρισης Web API ονομάζονται σε πεζά. Αλλάξτε αυτές τις αναφορές για να χρησιμοποιήσετε πεζά γράμματα. Ο τύπος θα πρέπει να είναι ως εξής.

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

    Ενημέρωση τύπου για την οθόνη αναζήτησης.

  5. Επιλέξτε το στοιχείο ελέγχου IconRefresh1 στο τμήμα παραθύρου Προβολή δέντρου. Αλλάξτε την ενέργεια OnSelect στον τύπο ClearCollect(partsCollection, FieldEngineerAPI.getapiboilerparts()).

    Σημείωμα

    Ο αρχικός τύπος για αυτήν την ενέργεια καλεί τη λειτουργία Ανανέωση για εκ νέου συμπλήρωση των δεδομένων χρησιμοποιώντας τη σύνδεση στην αρχική προέλευση δεδομένων. Δεν μπορείτε να χρησιμοποιήσετε την Ανανέωση με μια σύνδεση που εκτελεί μια λειτουργία για την ανάκτηση των δεδομένων, επομένως δεν θα λειτουργεί με το FieldEngineerApi.getapiboilerparts(). Η λύση σε αυτό το βήμα συμπληρώνει ξανά τη συλλογή partsCollection με τα πιο πρόσφατα δεδομένα.

  6. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε το στοιχείο ελέγχου BrowseGallery1 και επιλέξτε το στοιχείο ελέγχου Body1. Αλλάξτε την ιδιότητα Κείμενο σε ThisItem.overview.

  7. Επιλέξτε το στοιχείο ελέγχου Subtitle1 στο τμήμα παραθύρου Προβολή δέντρου. Αλλάξτε την ιδιότητα Κείμενο σε ThisItem.categoryId.

  8. Επιλέξτε το στοιχείο ελέγχου Title στο τμήμα παραθύρου Προβολή δέντρου. Αλλάξτε την ιδιότητα Κείμενο σε ThisItem.name.

  9. Στο τμήμα παραθύρου Προβολή δέντρου, επιλέξτε το στοιχείο ελέγχου DetailForm1 στην οθόνη PartDetails. Αλλάξτε την ιδιότητα DataSource από [@Table1] σε partsCollection.

  10. Στο τμήμα παραθύρου Προβολή δέντρου, επιλέξτε το στοιχείο ελέγχου NameDataCard1 κάτω από το DetailForm1. Αλλάξτε την ιδιότητα Προεπιλογή σε ThisItem.name.

    Αλλαγή προεπιλογής για την κάρτα δεδομένων ονόματος.

  11. Αλλάξτε την ιδιότητα Προεπιλογή του στοιχείου ελέγχου CategoryIDDataCard1 σε ThisItem.categoryId.

  12. Αλλάξτε την ιδιότητα Προεπιλογή του στοιχείου ελέγχου Overview_DataCard1 σε ThisItem.overview.

  13. Αλλάξτε την ιδιότητα Προεπιλογή του στοιχείου ελέγχου Price_DataCard1 σε ThisItem.price.

  14. Αλλάξτε την ιδιότητα Προεπιλογή του στοιχείου ελέγχου NumberInStock_DataCard1 σε ThisItem.numberInStock.

  15. Αλλάξτε την ιδιότητα Προεπιλογή του στοιχείου ελέγχου Image_DataCard1 σε ThisItem.imageUrl.

  16. Στο αριστερό τμήμα παραθύρου στην καρτέλα Δεδομένα, κάντε δεξί κλικ στη σύνδεση δεδομένων Table1 και μετά επιλέξτε Κατάργηση για διαγραφή από την εφαρμογή. Αυτή η σύνδεση δεν είναι πλέον υποχρεωτική.

    Κατάργηση της σύνδεσης Table1.

  17. Αποθηκεύστε την εφαρμογή.

    Σημείωμα

    Μπορείτε να αποθηκεύσετε γρήγορα την εφαρμογή χωρίς να χρησιμοποιήσετε το μενού Αρχείο επιλέγοντας Ctrl+S.

  18. Επιλέξτε F5 για προεπισκόπηση της εφαρμογής. Οι οθόνες Αναζήτηση εξαρτημάτω και Στοιχεία εξαρτήματος θα πρέπει να λειτουργούν ακριβώς όπως και πριν, με εξαίρεση ότι αυτή τη φορά ανακτούν δεδομένα από τη από τη βάση δεδομένων Azure SQL InventoryDB μέσω του Web API και όχι από ένα τοπικό αρχείο Excel.

  19. Κλείστε το παράθυρο προεπισκόπησης και επιστρέψτε στο Power Apps Studio.

Ενημέρωση της εφαρμογής για χρήση της σύνδεσης: Προγραμματισμός πεδίων και σημειώσεις

Η Maria συνεχίζει με τις οθόνες BrowseAppointments, AppointmentDetails και EditAppointment. Τα δεδομένα που παρουσιάζονται από αυτές τις οθόνες αυτήν τη στιγμή προέρχονται από τον πίνακα Συναντήσεις σε άλλο βιβλίο εργασίας του Excel.

  1. Στην Αρχική οθόνη της εφαρμογής, ορίστε την ενέργεια OnVisible στον ακόλουθο τύπο.

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

    Αυτός ο τύπος ανακτά δεδομένα συναντήσεων στη συλλογή appointmentsCollection. Οι συναντήσεις φιλτράρονται για την ανάκτηση επισκέψεων που έχουν προγραμματιστεί στην τρέχουσα ημερομηνία ή μετά από αυτήν.

  2. Επιλέξτε το Στοιχείο ελέγχου Ετικέτα που εμφανίζει την ώρα της επόμενης συνάντησης. Ορίστε την ιδιότητα Κείμενο σε Text(First(appointmentsCollection).startDateTime, ShortTime24).

  3. Επιλέξτε το Στοιχείο ελέγχου Ετικέτα που εμφανίζει την ημερομηνία της επόμενης συνάντησης. Ορίστε την ιδιότητα Κείμενο σε Text(First(appointmentsCollection).startDateTime, LongDate).

  4. Επιλέξτε το στοιχείο ελέγχου ετικέτας που εμφανίζει το όνομα πελάτη για την επόμενη συνάντηση. Ορίστε την ιδιότητα Κείμενο σε First(appointmentsCollection).customer.name.

  5. Επιλέξτε F5 για προεπισκόπηση της εφαρμογής. Στην Αρχική οθόνη, επιλέξτε Συναντήσεις. Αυτή η ενέργεια θα δημιουργήσει τη συλλογή appointmentsCollection. Κλείστε το παράθυρο προεπισκόπησης και επιστρέψτε στο Power Apps Studio.

  6. Στο τμήμα παραθύρου Προβολή δέντρου, επιλέξτε το στοιχείο ελέγχου BrowseAppointmentsGallery στην οθόνη BrowseAppointments. Αλλάξτε τον τύπο στην ιδιότητα Στοιχεία με τον ακόλουθο τύπο.

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

    Αυτός ο τύπος φιλτράρει τα δεδομένα που εμφανίζονται στην οθόνη κατά όνομα πελάτη, επιτρέποντας στο χρήστη να εισαγάγει το όνομα ενός πελάτη. Οι συναντήσεις εμφανίζονται με τη σειρά ημερομηνίας και ώρας.

  7. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε το στοιχείο ελέγχου BrowseAppointmentsGallery και επιλέξτε το στοιχείο ελέγχου Title1_1. Αλλάξτε την ιδιότητα Κείμενο στο εξής.

    Text(ThisItem.startDateTime, LongDate)
    

    Αυτός ο τύπος εμφανίζει το τμήμα ημερομηνίας του πεδίου startDateTime για τη συνάντηση.

  8. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε το στοιχείο ελέγχου BrowseAppointmentsGallery και επιλέξτε το στοιχείο ελέγχου Subtitle1_1. Αλλάξτε την ιδιότητα Κείμενο στο εξής.

    Text(ThisItem.startDateTime, ShortTime24)
    

Αυτός ο τύπος εμφανίζει το στοιχείο χρόνου του πεδίου startDateTime.

  1. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε το στοιχείο ελέγχου BrowseAppointmentsGallery και επιλέξτε το στοιχείο ελέγχου Body1_1. Αλλάξτε την ιδιότητα Κείμενο στο εξής.

    ThisItem.customer.name
    
  2. Στο τμήμα παραθύρου Προβολή δέντρου, επιλέξτε το στοιχείο ελέγχου IconRefresh1_1 στην οθόνη BrowseAppointments. Ορίστε την ενέργεια OnSelect στον παρακάτω τύπο.

    ClearCollect(appointmentsCollection, Sort(Filter(FieldEngineerAPI.getapiappointments(), DateDiff(Today(), startDateTime) >= 0), startDateTime));
    
  3. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε την οθόνη AppointmentDetails και επιλέξτε το στοιχείο ελέγχου DetailForm1_1. Ορίστε την ιδιότητα DataSource σε appointmentsCollection.

  4. Επιλέξτε το στοιχείο ελέγχου IconEdit1 στο τμήμα παραθύρου Προβολή δέντρου. Τροποποιήστε τον τύπο στην ιδιότητα DisplayMode για να δοκιμάσετε τη συλλογή appoinmentsCollection.

    If(DataSourceInfo(**appointmentsCollection**, DataSourceInfo.EditPermission), DisplayMode.Edit, DisplayMode.Disabled)
    
  5. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε την οθόνη DetailForm1_1 και επιλέξτε το στοιχείο ελέγχου Customer NameDataCard1. Αλλάξτε την ιδιότητα Προεπιλογή σε ThisItem.customer.name.

  6. Αλλάξτε τις ιδιότητες Προεπιλογή των υπόλοιπων καρτών δεδομένων ως εξής:

    • 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
  7. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε την οθόνη EditAppointment και επιλέξτε το στοιχείο ελέγχου EditForm1. Ορίστε την ιδιότητα DataSource σε appointmentsCollection.

  8. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε το στοιχείο ελέγχου EditForm1 και επιλέξτε το στοιχείο ελέγχου Customer NameDataCard3. Αλλάξτε την ιδιότητα Προεπιλογή σε ThisItem.customer.name.

  9. Αλλάξτε τις ιδιότητες Προεπιλογή των υπόλοιπων καρτών δεδομένων ως εξής:

  • Contact Number_DataCard2: ThisItem.customer.contactNumber, επιπλέον αλλάξτε την ιδιότητα MaxLength σε 20
  • Problem Details_DataCard2: ThisItem.problemDetails
  • Status_DataCard5: ThisItem.appointmentStatus.statusName
  • Notes_DataCard3: ThisItem.notes
  • Image_DataCard2: ThisItem.imageUrl
  1. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε το στοιχείο ελέγχου Problem Details_Card2. Μετονομάστε το πεδίο DataCardValueX (X θα είναι ένας αριθμός) κάτω από αυτό το στοιχείο ελέγχου σε ProblemDetailsValue. Επαναλάβετε αυτήν τη διαδικασία για τα στοιχεία ελέγχου DataCardValueX στις ακόλουθες κάρτες δεδομένων:

    • Status_DataCard5: StatusValue
    • Notes_DataCard3: NotesValue

    Σημείωμα

    Το στοιχείο ελέγχου Εικόνα θα αναλυθεί στο επόμενο κεφάλαιο.

  2. Επιλέξτε ProblemDetailsValue και ορίστε την ιδιότητα MaxLength σε 100.

  3. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε το στοιχείο ελέγχου IconAccept1 και επιλέξτε το στοιχείο ελέγχου EditAppointment. Ορίστε την ενέργεια OnSelect στον παρακάτω τύπο.

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

    Αυτός ο τύπος καλεί τη λειτουργία PUT για τον ελεγκτή συναντήσεων στο Web API. Διαβιβάζει το αναγνωριστικό συνάντησης για την τρέχουσα συνάντηση ως την πρώτη παράμετρο, ακολουθούμενο από τις λεπτομέρειες που ενδεχομένως να έχει τροποποιήσει ο χρήστης στην οθόνη. Οι λεπτομέρειες περνούν ως αντικείμενο JSON. Οι δηλώσεις "Κατάργηση", "Ορισμός" και "Συλλογή" ενημερώνουν τη συλλογή appointmentsCollection με τα δεδομένα που έχουν αποθηκευτεί στη βάση δεδομένων.

    Σημείωμα

    Μην χρησιμοποιείτε τη λειτουργία ClearCollect για να διαγράψετε και να ανανεώσετε ολόκληρη τη συλλογή σε περιπτώσεις όπως αυτή, επειδή θα ήταν ανώφελο αν για παράδειγμα έχει αλλάξει μόνο μία καρτέλα.

  4. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε το στοιχείο ελέγχου IconAccept1 και επιλέξτε το στοιχείο ελέγχου EditAppointment. Ορίστε την ενέργεια OnSelect στον παρακάτω τύπο.

    ResetForm(EditForm1);
    
    Navigate(AppointmentDetails, ScreenTransition.None);
    
  5. Στο αριστερό τμήμα παραθύρου στην καρτέλα Δεδομένα, κάντε δεξί κλικ στη σύνδεση δεδομένων Συναντήσεις και μετά επιλέξτε Κατάργηση για διαγραφή από την εφαρμογή.

  6. Αποθηκεύστε την εφαρμογή.

  7. Επιλέξτε F5 για προεπισκόπηση της εφαρμογής. Από την Αρχική οθόνη, μεταβείτε στην οθόνη Συναντήσεις, επιλέξτε και επεξεργαστείτε μια συνάντηση και, στη συνέχεια, αποθηκεύστε τις αλλαγές. Επαληθεύστε ότι έχει ενημερωθεί η συνάντηση.

  8. Κλείστε το παράθυρο προεπισκόπησης και επιστρέψτε στο Power Apps Studio.

Δημιουργία της υπηρεσίας γνωσιακής αναζήτησης Azure για τη γνωσιακή βάση πεδίου

Η οθόνη γνωσιακής βάσης στην εφαρμογή δεν είναι επί του παρόντος συνημμένη σε καμία προέλευση δεδομένων. Το Web API περιλαμβάνει λειτουργίες για υποβολή ερωτημάτων και ενημέρωση των πινάκων Συμβουλές, BoilerParts και Μηχανικοί στη βάση δεδομένων KnowledgeDB. Ωστόσο, ο σκοπός της οθόνης Ερώτημα στην εφαρμογή είναι η υποστήριξη αναζητήσεων σε όλους αυτούς τους πίνακες. Ο όγκος των δεδομένων σε αυτούς τους πίνακες είναι πιθανό να αυξηθεί γρήγορα, επομένως η Maria, η Kiana και η Preeti αποφασίζουν να αναπτύξουν τη γνωσιακή αναζήτηση Azure για να υποστηρίξουν αυτήν τη δυνατότητα. Μια εφαρμογή μπορεί να υποβάλλει ερωτήματα και να λαμβάνει αποτελέσματα από τη γνωσιακή αναζήτηση Azure μέσω ενός προσαρμοσμένου συνδέσμου.

Η γνωσιακή αναζήτηση Azure λειτουργεί καλύτερα εάν τα δεδομένα προς αναζήτηση περιέχονται σε μία μόνο οντότητα βάσης δεδομένων. Η Kiana δημιουργεί μια προβολή στη βάση δεδομένων KnowledgeDB που αναπαριστά μια ενοποιημένη προβολή των πινάκων Συμβουλές, BoilerParts και Μηχανικοί, ως εξής:

  1. Στην πύλη Azure, μεταβείτε στη σελίδα Βάση δεδομένων SQL KnowledgeDB.

  2. Στο αριστερό τμήμα παραθύρου, επιλέξτε Πρόγραμμα επεξεργασίας και συνδεθείτε στη βάση δεδομένων ως sqladmin, χρησιμοποιώντας τον κωδικό πρόσβασης Pa55w.rd.

    Σύνδεση στη βάση δεδομένων Azure SQL.

  3. Στο παράθυρο ερωτημάτων, εισαγάγετε την παρακάτω δήλωση και μετά επιλέξτε Εκτέλεση.

    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
    

    Δημιουργία της προβολής

    Επαληθεύστε ότι η προβολή Γνώση έχει δημιουργηθεί με επιτυχία.

  4. Στο αριστερό τμήμα παραθύρου, επιλέξτε Συμβολοσειρές σύνδεσης. Σημειώστε τη συμβολοσειρά σύνδεσης ADO.NET, θα τη χρειαστείτε κατά τη διαμόρφωση των παραμέτρων της γνωσιακής αναζήτησης Azure.

    Συμβολοσειρά σύνδεσης ADO.NET για τη βάση δεδομένων της γνωσιακής βάσης δεδομένων.

Σε εργασία με την Kiana, η Preeti ρυθμίζει τις παραμέτρους μιας νέας παρουσίας της υπηρεσίας γνωσιακής αναζήτησης Azure για την εκτέλεση αναζητήσεων σε γραμμές στην προβολή Γνώση, ως εξής:

  1. Στην Αρχική σελίδα, στην πύλη Azure, επιλέξτε + Δημιουργία ενός πόρου, καταχωρίστε Γνωσιακή αναζήτηση Azure, επιλέξτε Καταχώριση και μετά επιλέξτε Δημιουργία.

    Δημιουργία της υπηρεσίας γνωσιακής αναζήτησης Azure.

  2. Στη σελίδα Νέα υπηρεσία αναζήτησης, εισαγάγετε τις παρακάτω ρυθμίσεις και μετά επιλέξτε Αναθεώρηση + δημιουργία:

    • Συνδρομή: Επιλέξτε τη συνδρομή Azure σας
    • Ομάδα πόρων: webapi_rg
    • Όνομα υπηρεσίας: Εισαγάγετε ένα μοναδικό όνομα για την υπηρεσία
    • Όνομα τοποθεσίας: Επιλέξτε την πλησιέστερη περιοχή σας
    • Επίπεδο τιμολόγησης: Δωρεάν
  3. Στη σελίδα επαλήθευσης, επιλέξτε Δημιουργία και περιμένετε μέχρι να παρασχεθεί η υπηρεσία.

  4. Μεταβείτε στη σελίδα για τη νέα υπηρεσία αναζήτησης, επιλέξτε Επισκόπηση, σημειώστε τη διεύθυνση Url (θα τη χρειαστείτε αργότερα όταν δημιουργήσετε την προσαρμοσμένη σύνδεση για Power Apps) και, στη συνέχεια, επιλέξτε Εισαγωγή δεδομένων.

    Σελίδα επισκόπησης υπηρεσίας αναζήτησης.

  5. Στη σελίδα Εισαγωγή δεδομένων, στην αναπτυσσόμενη λίστα Προέλευση δεδομένων, επιλέξτε Βάση δεδομένων Azure SQL.

    Επιλογή βάσης δεδομένων Azure SQL.

  6. Στη σελίδα Σύνδεση στα δεδομένα σας, καθορίστε τις ακόλουθες ρυθμίσεις:

    • Προέλευση δεδομένων: Βάση δεδομένων Azure SQL
    • Όνομα προέλευσης δεδομένων: knowledgebase
    • Συμβολοσειρά σύνδεσης: Εισαγάγετε τη συμβολοσειρά σύνδεσης της βάσης δεδομένων Azure SQL για τη βάση δεδομένων KnowledgDB που καταγράψαμε νωρίτερα. Σε αυτήν τη συμβολοσειρά, ρυθμίστε τον κωδικό πρόσβασης σε Pa55w.rd
    • Αφήστε τα πεδία Αναγνωριστικό χρήστη και Κωδικός πρόσβασης στις προεπιλεγμένες τιμές τους. Αυτά τα στοιχεία ανακτώνται από τη συμβολοσειρά σύνδεσης
  7. Επιλέξτε Δοκιμή σύνδεσης. Βεβαιωθείτε ότι το αποτέλεσμα της δοκιμής είναι επιτυχές, επιλέξτε [Γνώση] στο πλαίσιο της αναπτυσσόμενης λίστας Πίνακας/Προβολή και μετά επιλέξτε Επόμενο: Προσθήκη γνωστικών ικανοτήτων (προαιρετικό).

    Καθορισμός της προβολής αναζήτησης.

  8. Στη σελίδα Προσθήκη γνωστικών ικανοτήτων (Προαιρετικό), επιλέξτε Μετάβαση σε: Προσαρμογή ευρετηρίου προορισμού.

  9. Στη σελίδα Προσαρμογή ευρετηρίου προορισμού, επιλέξτε Με δυνατότητα ανάκτησης για όλες τις στήλες και Με δυνατότητα αναζήτησης για τα στοιχεία Θέμα, Σώμα, Όνομα και Επισκόπηση. Επιλέξτε Επόμενο: Δημιουργήστε ένα στοιχείο δημιουργίας ευρετηρίου.

    Προσαρμογή του ευρετηρίου προορισμού.

  10. Στη σελίδα Δημιουργία στοιχείου δημιουργίας ευρετηρίου, αλλάξτε το Όνομα του στοιχείου δημιουργίας ευρετηρίου σε knowledgebase-indexer. Για το Χρονοδιάγραμμα, επιλέξτε Ωριαία, ορίστε τη Στήλη κορυφής σε Αναγνωριστικό και, στη συνέχεια, επιλέξτε Υποβολή:

    Δημιουργία του στοιχείου δημιουργίας ευρετηρίου.

  11. Για να δοκιμάσετε το στοιχείο δημιουργίας ευρετηρίου, στη σελίδα Επισκόπηση για την υπηρεσία αναζήτησης, επιλέξτε Εξερεύνηση αναζήτησης:

    Επιλογή εξερεύνησης αναζήτησης.

  12. Στο πεδίο συμβολοσειράςερωτήματος, καταχωρήστε μια λέξη για αναζήτηση στη γνωσιακή βάση και, στη συνέχεια, επιλέξτε Αναζήτηση. Η υπηρεσία αναζήτησης θα πρέπει να δημιουργήσει μια λίστα εγγράφων με αντιστοίχιση στα πεδία Θέμα, Σώμα, Όνομα ή Επισκόπηση και να τα εμφανίσει στο τμήμα παραθύρου Αποτελέσματα. Σημειώστε τη Διεύθυνση URL αιτήματος και το δείγμα αποτελεσμάτων. Θα χρειαστείτε αυτά τα στοιχεία αργότερα ως παράδειγμα αιτήματος και απόκρισης όταν ρυθμίσετε την προσαρμοσμένη σύνδεση Power Apps.

    Αναζήτηση αποτελεσμάτων ερωτήματος.

Δημιουργία προσαρμοσμένης σύνδεσης για την υπηρεσία γνωσιακής αναζήτησης Azure

Η Kiana μπορεί πλέον να δημιουργήσει μια προσαρμοσμένη σύνδεση που τη χρησιμοποιεί το Power Apps για την αποστολή αιτημάτων αναζήτησης στην υπηρεσία αναζήτησης. Η Kiana χρησιμοποιεί το Power Apps Studio, ως εξής:

  1. Συνδεθείτε στο Power Apps.

  2. Στο αριστερό τμήμα παραθύρου, αναπτύξτε τα Δεδομένα και επιλέξτε Προσαρμοσμένες συνδέσεις. Στο δεξί τμήμα παραθύρου, επιλέξτε + Νέα προσαρμοσμένη σύνδεση και, στη συνέχεια, επιλέξτε Δημιουργία από κενό:

    Νέα προσαρμοσμένη σύνδεση.

  3. Στο παράθυρο διαλόγου Δημιουργία από κενό, ορίστε το νέο όνομα σύνδεσης σε VanArsdelKBConnector και επιλέξτε Συνέχεια:

    Δημιουργία σύνδεσης γνωσιακής βάσης.

  4. Στη σελίδα Γενικές πληροφορίες, εισαγάγετε μια περιγραφή και ορίστε το Σχήμα σε HTTPS. Στο πλαίσιο Κεντρικοί υπολογιστές, πληκτρολογήστε τη διεύθυνση URL για την υπηρεσία αναζήτησης (έχετε επισημάνει αυτήν τη διεύθυνση URL νωρίτερα), αλλά χωρίς το πρόθεμα https://, και μετά επιλέξτε Ασφάλεια.

    Γενική σελίδα σύνδεσης υπηρεσίας αναζήτησης.

  5. Στη σελίδα Ασφάλεια, στο πλαίσιο της αναπτυσσόμενης λίστας Έλεγχος ταυτότητας, επιλέξτε Κλειδί API. Στο πεδίο Ετικέτα παραμέτρου, καταχωρίστε api-key. Στο πεδίο Όνομα παραμέτρου, καταχωρίστε api-key. Επιλέξτε Ορισμός.

    Σελίδα ασφάλειας σύνδεσης υπηρεσίας αναζήτησης.

  6. Στη σελίδα Ορισμός, επιλέξτε Νέα ενέργεια. Στο πεδίο Σύνοψη, καταχωρίστε Ερώτημα. Στο πεδίο Περιγραφή, εισαγάγετε Ερώτημα στη γνωσιακή βάση. Στο πεδίο Αναγνωριστικό λειτουργίας, καταχωρίστε Ερώτημα. Στην περιοχή Αίτημα, επιλέξτε + Εισαγωγή από δείγμα.

    Σελίδα ορισμού σύνδεσης υπηρεσίας αναζήτησης.

  7. Στο παράθυρο διαλόγου Εισαγωγή από δείγμα, εισαγάγετε τις ακόλουθες τιμές και, στη συνέχεια, επιλέξτε Εισαγωγή:

    • Ρήμα: GET
    • URL: Δώστε το παράδειγμα διεύθυνσης URL αιτήματος που έχετε σημειώσει όταν δοκιμάσατε την υπηρεσία αναζήτησης στην εξερεύνηση αναζήτησης νωρίτερα
    • Επικεφαλίδες: Content-type

    Εισαγωγή ορισμού από δείγμα αιτήματος.

  8. Πίσω στη σελίδα Ορισμός, κάντε κύλιση προς τα κάτω στην ενότητα Ερώτημα, επιλέξτε το κουμπί αποσιωπητικών δίπλα στην αναζήτηση και μετά επιλέξτε Επεξεργασία.

    Επεξεργασία ορισμού αιτήματος αναζήτησης.

  9. Στην οθόνη επεξεργασίας, στην ενότητα Παράμετροι, στο πεδίο Προεπιλεγμένη τιμή, εισαγάγετε έναν αστερίσκο (*). Αφήστε τα άλλα πεδία στις προεπιλεγμένες τιμές τους και, στη συνέχεια, επιλέξτε Πίσω.

    Ορισμός προεπιλεγμένης τιμής αναζήτησης.

  10. Πίσω στη σελίδα Ορισμός, στην ενότητα Ερώτημα, επιλέξτε το κουμπί αποσιωπητικών δίπλα στο api-version και μετά επιλέξτε Επεξεργασία.

    Επεξεργασία έκδοσης API.

  11. Στην οθόνη επεξεργασίας, στην ενότητα Παράμετροι, στο πεδίο Προεπιλεγμένη τιμή, καταχωρίστε 2020-06-30-Προεπισκόπηση (αυτή είναι η έκδοση που σχετίζεται με την τρέχουσα έκδοση της γνωσιακής αναζήτησης Azure, μπορείτε να δείτε την έκδοση στη διεύθυνση URL που σημειώσατε νωρίτερα). Ορίστε το Απαιτείται σε Ναι και ορίστε την Ορατότητα σε Εσωτερική. Αφήστε τα άλλα πεδία στις προεπιλεγμένες τιμές τους και, στη συνέχεια, επιλέξτε Πίσω.

    Ορισμός των τιμών API για παραμέτρους αναζήτησης.

  12. Στη σελίδα Ορισμός, κάντε κύλιση προς τα κάτω στην ενότητα Απόκριση και επιλέξτε + Προσθήκη προεπιλεγμένης απόκρισης.

    Προσθήκη ορισμού προεπιλεγμένης απόκρισης. ]

  13. Στο παράθυρο διαλόγου Εισαγωγή από δείγμα, στο πεδίο Κεφαλίδες, καταχωρίστε το κείμενο Τύπος περιεχομένου. Στο πεδίο Σώμα, εισαγάγετε τα παραδείγματα αποτελεσμάτων που καταγράψαμε κατά τη δοκιμή της υπηρεσίας αναζήτησης και, στη συνέχεια, επιλέξτε Εισαγωγή.

    Εισαγωγή του μηνύματος απόκρισης από δείγμα.

  14. Στη σελίδα Ορισμός, επιλέξτε την προεπιλεγμένη απόκριση.

    Επιλογή προεπιλεγμένης απόκρισης.

  15. Στο πεδίο Περιγραφή της απόκρισης Τύπος περιεχομένου, καταχωρήστε application/json και στη συνέχεια, επιλέξτε Πίσω.

    Ορισμός του περιεχομένου κεφαλίδας του μηνύματος απόκρισης.

    Σημείωμα

    Η ενότητα Σώμα σε αυτήν τη σελίδα θα εμφανίσει τα πεδία της απόκρισης, όπως Σώμα, Αναγνωριστικό, Όνομα, Επισκόπηση και Θέμα αν έχει αναλυθεί επιτυχώς.

  16. Επιλέξτε Δημιουργία σύνδεσης.

    Δημιουργία της σύνδεσης γνωσιακής αναζήτησης Azure.

Η σύνδεση πρέπει να δημιουργηθεί χωρίς την αναφορά σφαλμάτων ή προειδοποιήσεων.

Ενημέρωση της εφαρμογής για χρήση της γνωσιακής αναζήτησης Azure: γνωσιακή βάση πεδίου

Η Maria μπορεί πλέον να χρησιμοποιεί την προσαρμοσμένη σύνδεση στην εφαρμογή. Όμως πρώτα, απαιτεί ένα κλειδί που εκχωρεί στη Μαρία τα προνόμια που απαιτούνται για τη σύνδεση στην υπηρεσία γνωσιακής αναζήτησης Azure. Η Preeti αποκτά το κλειδί από τη σελίδα Κλειδιά για την υπηρεσία στην πύλη Azure και το παρέχει στη Maria.

Κλειδί υπηρεσίας αναζήτησης στην πύλη Azure.

Η Maria επεξεργάζεται την εφαρμογή στο Power Apps Studio και εκτελεί τις εξής εργασίες:

  1. Ανοίξτε την εφαρμογή VanArsdelApp για επεξεργασία.

  2. Στο μενού Προβολή, επιλέξτε Προελεύσεις δεδομένων και, στη συνέχεια, επιλέξτε Προσθήκη δεδομένων.

    Προσθήκη προέλευσης δεδομένων στην εφαρμογή.

  3. Στο πλαίσιο Αναζήτηση, στην περιοχή Επιλογή προέλευσης δεδομένων, καταχωρήστε Van. Πρέπει να παρατίθεται η σύνδεση VanArdelKBConnector.

    Αναζήτηση της σύνδεσης γνωσιακής αναζήτησης Azure.

  4. Επιλέξτε τη σύνδεση VanArdelKBConnector. Στο τμήμα παραθύρου VanArdelKBConnector, καταχωρίστε το κλειδί που παρείχε η Preeti για την υπηρεσία αναζήτησης και μετά επιλέξτε Σύνδεση.

    Καταχώρηση κλειδιού API.

  5. Στο μενού Αρχείο, αποθηκεύστε και κλείστε την εφαρμογή και, στη συνέχεια, ανοίξτε την ξανά. Ενδέχεται να σας ζητηθεί να εξουσιοδοτήσετε τη χρήση της προσαρμοσμένης σύνδεσης όταν ανοίξει ξανά η εφαρμογή.

    Σημείωμα

    Αυτό το βήμα είναι απαραίτητο για να ενεργοποιήσετε την προσαρμοσμένη σύνδεση.

  6. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε την οθόνη Knowledgebase και επιλέξτε το στοιχείο ελέγχου TextSearchBox2. Πληκτρολογήστε τον ακόλουθο τύπο για την ενέργεια OnChange.

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

    Αυτός ο τύπος καλεί τη λειτουργία Ερώτημα της προσαρμοσμένης σύνδεσης, αναζητώντας στοιχεία που συμφωνούν με τον όρο που πληκτρολογεί ο χρήστης στο πλαίσιο αναζήτησης. Τα αποτελέσματα αποθηκεύονται σε μια συλλογή με το όνομα azResult.

  7. Στο τμήμα παραθύρου Προβολή δέντρου, κάτω από την οθόνη Knowledgebase και επιλέξτε το στοιχείο ελέγχου BrowseGallery2. Ορίστε την ιδιότητα Στοιχεία σε azResult.

  8. Αναπτύξτε το στοιχείο ελέγχου BrowseGallery2 και καταργήστε το στοιχείο ελέγχου Image4.

  9. Επιλέξτε το στοιχείο ελέγχου Title2. Ορίστε τις ακόλουθες ιδιότητες:

    • Κείμενο: ThisItem.Subject
    • X: 24
    • Πλάτος: Parent.TemplateWidth - 104
  10. Επιλέξτε το στοιχείο ελέγχου Subtitle2. Ορίστε την ιδιότητα Κείμενο σε ThisItem.Body.

  11. Επιλέξτε F5 για προεπισκόπηση της εφαρμογής. Στην οθόνη Knowledgebase, καταχωρίστε έναν όρο αναζήτησης και μετά επιλέξτε Καταχώριση. Θα πρέπει να εμφανίζονται τα άρθρα που αντιστοιχούν από τη γνωσιακή βάση.

    Ερώτημα γνωσιακής βάσης στην εφαρμογή.

    Σημείωμα

    Η οθόνη λεπτομερειών δεν έχει δημιουργηθεί ακόμα, επομένως η επιλογή του εικονιδίου > δίπλα σε ένα άρθρο δεν λειτουργεί.

  12. Κλείστε το παράθυρο προεπισκόπησης και επιστρέψτε στο Power Apps Studio.

  13. Στο τμήμα παραθύρου Προβολή δέντρου, κάντε δεξί κλικ στην οθόνη PartDetails και, στη συνέχεια, επιλέξτε Αντιγραφή οθόνης. Αυτή η ενέργεια θα προσθέσει μια άλλη οθόνη στην εφαρμογή, με όνομα PartDetails_1.

    Αντιγραφή της οθόνης PartDetails.

  14. Στο τμήμα παραθύρου Προβολή δέντρου, μετονομάστε την οθόνη PartDetails_1 σε KnowledgebaseDetails.

    Επιλέξτε το στοιχείο ελέγχου LblAppNameX στην οθόνη, ορίστε την ιδιότητα Κείμενο σε "Λεπτομέρειες άρθρου" (συμπεριλαμβανομένων των εισαγωγικών).

  15. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε το στοιχείο ελέγχου DetailFormX στην οθόνη. Ορίστε τις ακόλουθες ιδιότητες:

    • Προέλευση δεδομένων: azResult
    • Στοιχείο: **BrowseGallery2.Selected**

    Σημείωμα

    Το BrowseGallery2 είναι η συλλογή αναζήτησης στην οθόνη γνωσιακής βάσης. Στην εφαρμογή σας, αυτή η συλλογή ενδεχομένως να έχει διαφορετικό όνομα.

  16. Στο τμήμα παραθύρου Προβολή δέντρου, αναπτύξτε τη φόρμα DetailFormΧ και μετά αλλάξτε τα ονόματα των παρακάτω στοιχείων ελέγχου κάρτας δεδομένων:

    • Name_DataCard1_1: Name_DataCard
    • CategoryID_DataCard1_1: Subject_DataCard
    • Overview_DataCard1_1: Overview_DataCard
    • Price_DataCard1_1: Body_DataCard
  17. Διαγράψτε τα στοιχεία ελέγχου NumberInStock_DataCard1_1 και Image_DataCard1_1.

  18. Επιλέξτε το στοιχείο ελέγχου Name_DataCard. Ορίστε την ιδιότητα Προεπιλογή σε ThisItem.Name.

  19. Επιλέξτε το στοιχείο ελέγχου Subject_DataCard. Ορίστε τις ακόλουθες ιδιότητες:

    • DataField: "Subject"
    • DisplayName: "Subject"
    • Προεπιλογή: ThisItem.Subject
  20. Επιλέξτε το στοιχείο ελέγχου Overview_DataCard. Ορίστε την ιδιότητα Προεπιλογή σε ThisItem.Overview.

  21. Επιλέξτε το στοιχείο ελέγχου Body_DataCard. Ορίστε τις ακόλουθες ιδιότητες:

    • DataField: "Body"
    • DisplayName: "Body"
    • Προεπιλογή: ThisItem.Body
  22. Επιλέξτε το στοιχείο ελέγχου DataCardValueΧ στο στοιχείο ελέγχου Body_DataCard. Ορίστε την ιδιότητα Κείμενο σε Parent.Default.

  23. Αλλάξτε το μέγεθος κάθε στοιχείου ελέγχου της κάρτας δεδομένων για να τα απλώσετε στην οθόνη.

    Η οθόνη ArticleDetails.

  24. Επιλέξτε το βέλος προς τα πίσω στην κεφαλίδα οθόνης. Αλλάξτε την ιδιότητα OnSelect σε Navigate(Knowledgebase, ScreenTransition.None).

  25. Στο τμήμα παραθύρου Προβολή δέντρου, επιλέξτε την οθόνη Knowledgebase και μετά επιλέξτε το στοιχείο ελέγχου BrowseGalleryX. Αλλάξτε την ιδιότητα OnSelect σε Navigate(KnowledgebaseDetails, ScreenTransition.None). Αυτή η ενέργεια εμφανίζει την οθόνη λεπτομερειών για το άρθρο της γνωσιακής βάσης όταν ο χρήστης επιλέγει το εικονίδιο > για μια καταχώρηση στην οθόνη αναζήτησης.

  26. Αποθηκεύστε την εφαρμογή.

  27. Επιλέξτε F5 για προεπισκόπηση της εφαρμογής. Στην οθόνη Knowledgebase, καταχωρίστε έναν όρο αναζήτησης και μετά επιλέξτε Καταχώριση. Επιλέξτε ένα άρθρο και επιβεβαιώστε ότι εμφανίζονται οι λεπτομέρειες του. Βεβαιωθείτε ότι το εικονίδιο Πίσω επιστρέφει το χρήστη στην οθόνη αναζήτησης.

  28. Κλείστε το παράθυρο προεπισκόπησης και επιστρέψτε στο Power Apps Studio.

Η Maria, η Kiana και η Preeti έχουν ενσωματώσει με επιτυχία το Web API και τη Γνωσιακή αναζήτηση Azure στην εφαρμογή.