Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Ένα από τα βασικά πλεονεκτήματα του Fabric API για GraphQL είναι η δυνατότητα έκθεσης πολλαπλών προελεύσεων δεδομένων, όπως λιμνών, αποθηκών και βάσεων δεδομένων, μέσω ενός ενιαίου ενοποιημένου τελικού σημείου API. Αυτό σημαίνει ότι οι εφαρμογές σας μπορούν να ανακτήσουν δεδομένα από διαφορετικές πηγές σε ένα μόνο ερώτημα GraphQL, εξαλείφοντας την ανάγκη σύνδεσης σε πολλά API ή βάσεις δεδομένων ξεχωριστά.
Για παράδειγμα, μπορεί να έχετε δεδομένα πελατών σε μια αποθήκη και δεδομένα αποθέματος σε μια άλλη λίμνη. Αντί να κάνετε δύο ξεχωριστές κλήσεις API, μπορείτε να ρωτήσετε και τις δύο πηγές ταυτόχρονα μέσω του GraphQL API σας, μειώνοντας την επιβάρυνση του δικτύου και απλοποιώντας τον κώδικα της εφαρμογής σας.
Πώς λειτουργούν τα ερωτήματα πολλών προελεύσεων
Όταν εκδίδετε ένα ερώτημα GraphQL που εκτείνεται σε πολλές πηγές δεδομένων, το API εμφανίζει αυτόματα μεμονωμένα αιτήματα σε κάθε πηγή δεδομένων παράλληλα και, στη συνέχεια, συνδυάζει τα αποτελέσματα σε μια ενιαία απάντηση. Αυτή η προσέγγιση:
- Μειώνει τα ταξίδια μετ' επιστροφής: Η εφαρμογή σας υποβάλλει ένα αίτημα αντί για πολλές διαδοχικές κλήσεις
- Βελτιώνει την απόδοση: Η παράλληλη εκτέλεση σημαίνει ταχύτερους συνολικούς χρόνους απόκρισης
- Απλοποιεί τον κώδικα πελάτη: Εργάζεστε με ένα ενιαίο περιβάλλον εργασίας API ανεξάρτητα από το πού αποθηκεύονται τα δεδομένα
Σημαντικό
Τα ερωτήματα πολλών προελεύσεων έχουν τους ακόλουθους περιορισμούς:
- Δεν μπορείτε να δημιουργήσετε σχέσεις μεταξύ τύπων που εκτείνονται σε διαφορετικές προελεύσεις δεδομένων. Οι σχέσεις λειτουργούν μόνο μέσα σε μία προέλευση δεδομένων.
- Τα μεμονωμένα αιτήματα σε κάθε πηγή δεδομένων εκτελούνται παράλληλα χωρίς εγγυημένη παραγγελία.
- Κάθε αίτηση σε μια προέλευση δεδομένων είναι ανεξάρτητη—δεν υπάρχει συναλλαγή που να εκτείνεται σε πολλές προελεύσεις.
Παράδειγμα ερωτήματος
Επιχειρηματικό σενάριο: Φανταστείτε ότι δημιουργείτε έναν πίνακα εργαλείων που εμφανίζει πληροφορίες πελατών και κατάσταση αποθέματος προϊόντων δίπλα-δίπλα. Τα δεδομένα των πελατών σας βρίσκονται σε μια αποθήκη πωλήσεων (ContosoSales), ενώ η διαχείριση του αποθέματος των προϊόντων σας γίνεται σε μια ξεχωριστή λίμνη (ContosoInventory) που ενημερώνεται από τα συστήματα εφοδιαστικής αλυσίδας. Χωρίς υποστήριξη πολλαπλών πηγών, θα χρειαστεί να πραγματοποιήσετε δύο ξεχωριστές κλήσεις API, να διαχειριστείτε δύο διαφορετικές συνδέσεις και να συνδυάσετε μόνοι σας τα δεδομένα στον κώδικα της εφαρμογής σας.
Με το Fabric API για GraphQL, μπορείτε να ανακτήσετε δεδομένα και από τις δύο προελεύσεις σε ένα μόνο ερώτημα:
query {
customers (first: 1) {
items {
FirstName
LastName
}
}
inventories (first: 1) {
items {
Name
}
}
}
Αυτή η μεμονωμένη αίτηση ανακτά καρτέλες πελατών από την προέλευση δεδομένων ContosoSales και στοιχεία αποθέματος από την προέλευση δεδομένων ContosoInventory παράλληλα, συνδυάζοντάς τα σε μία απόκριση. Ο πίνακας ελέγχου σας λαμβάνει όλα τα δεδομένα που χρειάζεται με μία κλήση API αντί για δύο.
Το αποτέλεσμα της αίτησης είναι:
{
"data": {
"customers": {
"items": [
{
"FirstName": "Orlando",
"LastName": "Gee"
}
]
},
"inventories": {
"items": [
{
"Name": "AWC Logo Cap"
}
]
}
}
}
Η δομή απόκρισης αντικατοπτρίζει τη δομή του ερωτήματος. Μέσα στο data αντικείμενο, έχετε δύο πεδία ανώτατου επιπέδου (customers και inventories) που αντιστοιχούν στα δύο ερωτήματα που κάνατε. Κάθε πεδίο περιέχει έναν items πίνακα με τα πραγματικά αποτελέσματα. Τα customers στοιχεία έχουν ιδιότητες όπως FirstName και LastName, ενώ τα inventories στοιχεία έχουν ιδιότητες όπως Name—ακριβώς όπως ζητήθηκε στο ερώτημα.
Έτσι φαίνεται η προβολή ερωτήματος όταν εκτελείτε αυτήν την αίτηση: