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


Βελτιωμένη ανανέωση με το Power BI REST API

Μπορείτε να χρησιμοποιήσετε οποιαδήποτε γλώσσα προγραμματισμού που υποστηρίζει κλήσεις REST για να εκτελέσετε λειτουργίες ανανέωσης σημασιολογικών μοντέλων χρησιμοποιώντας το REST API ανανέωσης δεδομένων του Power BI.

Η βελτιστοποιημένη ανανέωση για μεγάλα και σύνθετα διαμεριζόμενα μοντέλα καλείται κατά παράδοση με μεθόδους προγραμματισμού που χρησιμοποιούν TOM (Μοντέλο αντικειμένου σε μορφή πίνακα), cmdlet του PowerShell ή TMSL (Γλώσσα δέσμης ενεργειών μοντέλου σε μορφή πίνακα). Ωστόσο, αυτές οι μέθοδοι απαιτούν συνδέσεις HTTP μεγάλης διάρκειας που μπορεί να είναι αναξιόπιστες.

Το API REST συνόλου δεδομένων ανανέωσης του Power BI μπορεί να εκτελεί λειτουργίες ανανέωσης μοντέλου ασύγχρονα, επομένως δεν απαιτούνται συνδέσεις HTTP μακράς διάρκειας από εφαρμογές προγράμματος-πελάτη. Σε σύγκριση με τις τυπικές λειτουργίες ανανέωσης, βελτιωμένες ανανέωσης με το REST API παρέχει περισσότερες επιλογές προσαρμογής και τις παρακάτω δυνατότητες που είναι χρήσιμες για μεγάλα μοντέλα:

  • Δέσμες δεσμεύσεων
  • Ανανέωση σε επίπεδο πίνακα και διαμερίσματος
  • Εφαρμογή πολιτικών επαυξητικής ανανέωσης
  • λεπτομέρειες ανανέωσης GET
  • Ακύρωση ανανέωσης
  • Ρύθμιση παραμέτρων χρονικού ορίου

Σημείωση

  • Στο παρελθόν, η βελτιωμένη ανανέωση ονομαζόταν ασύγχρονη ανανέωση με το REST API. Ωστόσο, μια τυπική ανανέωση που χρησιμοποιεί το API REST συνόλου δεδομένων ανανέωσης εκτελείται επίσης ασύγχρονα από την εγγενή φύση του.
  • Οι βελτιωμένες λειτουργίες ανανέωσης του REST API του Power BI δεν ανανεώνουν αυτόματα τα cache πλακιδίων. Οι προσωρινές αποθηκεύσεις πλακιδίων ανανεώνονται μόνο όταν ένας χρήστης αποκτά πρόσβαση σε μια αναφορά.

Διεύθυνση URL βάσης

Η διεύθυνση URL βάσης έχει την ακόλουθη μορφή:

https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/refreshes 

Μπορείτε να προσαρτήσετε πόρους και λειτουργίες στη διεύθυνση URL βάσης με βάση τις παραμέτρους. Στο παρακάτω διάγραμμα, οι Ομάδες, σύνολα δεδομένωνκαι ανανεώσεων είναι συλλογές. ομάδας , συνόλου δεδομένων και οι ανανέωσης είναι αντικείμενα.

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

Απαιτήσεις

Χρειάζεστε τις ακόλουθες απαιτήσεις για να χρησιμοποιήσετε το REST API:

  • Ένα σημασιολογικό μοντέλο στο Power BI Premium, το Premium ανά χρήστη ή το Power BI Embedded.
  • Ένα αναγνωριστικό ομάδας και ένα αναγνωριστικό συνόλου δεδομένων για χρήση στη διεύθυνση URL αίτησης.
  • Dataset.ReadWrite.All εμβέλεια δικαιωμάτων.

Ο αριθμός των ανανεώσεων περιορίζεται σύμφωνα με τους γενικούς περιορισμούς για ανανεώσεις που βασίζονται σε API για μοντέλα Pro και Premium.

Έλεγχος ταυτότητας

Όλες οι κλήσεις πρέπει να πραγματοποιούν έλεγχο ταυτότητας με έγκυρο αναγνωριστικό Microsoft Entra OAuth 2 στην κεφαλίδα εξουσιοδότησης. Το διακριτικό πρέπει να ικανοποιεί τις ακόλουθες απαιτήσεις:

  • Να είναι είτε διακριτικό χρήστη, είτε κύρια υπηρεσία εφαρμογής.
  • Ζητήστε από το κοινό να https://api.powerbi.comσωστά .
  • Να χρησιμοποιείται από έναν χρήστη ή μια εφαρμογή που διαθέτει επαρκή δικαιώματα στο μοντέλο.

Σημείωση

Οι τροποποιήσεις του REST API δεν αλλάζουν τα δικαιώματα που έχουν οριστεί τη συγκεκριμένη στιγμή για ανανεώσεις μοντέλου.

POST /ανανεώσεις

Για να κάνετε μια ανανέωση, χρησιμοποιήστε το ρήμα POST στη συλλογή /refreshes για να προσθέσετε ένα νέο αντικείμενο ανανέωσης στη συλλογή. Η κεφαλίδα Τοποθεσία στην απόκριση περιλαμβάνει το requestId. Επειδή η λειτουργία είναι ασύγχρονη, μια εφαρμογή προγράμματος-πελάτη μπορεί να αποσυνδεθεί και να χρησιμοποιήσει την requestId για να ελέγξει την κατάσταση αργότερα, εάν είναι απαραίτητο.

Ο παρακάτω κώδικας εμφανίζει ένα δείγμα αίτησης:

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/datasets/cfafbeb1-8037-4d0c-896e-a46fb27ff229/refreshes

Το σώμα αίτησης μπορεί να μοιάζει με το παρακάτω παράδειγμα:

{
    "type": "Full",
    "commitMode": "transactional",
    "maxParallelism": 2,
    "retryCount": 2,
    "timeout": "02:00:00",
    "objects": [
        {
            "table": "DimCustomer",
            "partition": "DimCustomer"
        },
        {
            "table": "DimDate"
        }
    ]
}

Σημείωση

Η υπηρεσία αποδέχεται μόνο μία λειτουργία ανανέωσης τη φορά για ένα μοντέλο. Εάν υπάρχει μια τρέχουσα ανανέωση που εκτελείται και υποβληθεί μια άλλη αίτηση, επιστρέφει μια 400 Bad Request κωδικό κατάστασης HTTP.

Παραμέτρους

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

Όνομα Δακτυλογραφώ Προεπιλογή Περιγραφή
type Απαρίθμηση automatic Ο τύπος της επεξεργασίας που θα εκτελεστεί. Οι τύποι ευθυγραμμίζονται με τους τύπους εντολών ανανέωσης TMSL: full, clearValues, calculate, dataOnly, automaticκαι defragment. Ο τύπος add δεν υποστηρίζεται.
commitMode Απαρίθμηση transactional Καθορίζει εάν θα γίνει δέσμευση αντικειμένων σε δέσμες ή μόνο όταν ολοκληρωθούν. Οι λειτουργίες είναι transactional και partialBatch. Όταν χρησιμοποιείτε partialBatch η λειτουργία ανανέωσης δεν πραγματοποιείται εντός μίας συναλλαγής. Κάθε εντολή δεσμεύεται μεμονωμένα. Εάν υπάρχει αποτυχία, το μοντέλο μπορεί να είναι κενό ή να περιλαμβάνει μόνο ένα υποσύνολο των δεδομένων. Για να διασφαλίσετε την αποτυχία και να διατηρήσετε τα δεδομένα που βρίσκονταν στο μοντέλο πριν από την έναρξη της λειτουργίας, εκτελέστε τη λειτουργία με commitMode = transactional.
maxParallelism Int 10 Καθορίζει τον μέγιστο αριθμό νημάτων που μπορούν να εκτελέσουν τις εντολές επεξεργασίας παράλληλα. Αυτή η τιμή ευθυγραμμίζεται με την ιδιότητα MaxParallelism που μπορεί να οριστεί στην εντολή TMSL Sequence ή χρησιμοποιώντας άλλες μεθόδους.
retryCount Int 0 Πόσες φορές επαναληφύεται η λειτουργία προτού αποτύχει.
objects Παράταξη Ολόκληρο το μοντέλο Ένας πίνακας αντικειμένων προς επεξεργασία. Κάθε αντικείμενο περιλαμβάνει table κατά την επεξεργασία ενός ολόκληρου πίνακα, ή table και partition κατά την επεξεργασία ενός διαμερίσματος. Εάν δεν έχουν καθοριστεί αντικείμενα, ανανεώνεται ολόκληρο το μοντέλο.
applyRefreshPolicy Δυαδική τιμή true Εάν έχει οριστεί πολιτική επαυξητικής ανανέωσης, καθορίζει εάν θα εφαρμοστεί η πολιτική. Οι λειτουργίες είναι true ή false. Εάν η πολιτική δεν εφαρμοστεί, η πλήρης διαδικασία αφήνει ορισμούς διαμερίσματος αμετάβλητους και ανανεώνει πλήρως όλα τα διαμερίσματα στον πίνακα.

Εάν το commitMode είναι transactional, η applyRefreshPolicy μπορεί να είναι true ή false. Εάν το commitMode είναι partialBatch, δεν υποστηρίζεται applyRefreshPolicytrue και το applyRefreshPolicy πρέπει να οριστεί σε false.
effectiveDate Ημερομηνία Τρέχουσα ημερομηνία Εάν εφαρμόζεται μια πολιτική επαυξητικής ανανέωσης, η παράμετρος effectiveDate παρακάμπτει την τρέχουσα ημερομηνία. Εάν δεν καθοριστεί, η τρέχουσα ημέρα προσδιορίζεται με χρήση της ρύθμισης παραμέτρων ζώνης ώρας στην περιοχή "Ανανέωση".
timeout Σειρά 05:00:00 (5 ώρες) Εάν καθοριστεί μια timeout, κάθε προσπάθεια ανανέωσης δεδομένων στο μοντέλο σημασιολογίας συμμορφώνεται με αυτό το χρονικό όριο. Μια μοναδική αίτηση ανανέωσης μπορεί να περιλαμβάνει πολλές προσπάθειες εάν έχει καθοριστεί retryCount, το οποίο μπορεί να προκαλέσει υπέρβαση του καθορισμένου χρονικού ορίου για τη συνολική διάρκεια ανανέωσης. Για παράδειγμα, ο ορισμός ενός timeout 1 ώρας με retryCount 2 μπορεί να οδηγήσει σε συνολική διάρκεια ανανέωσης έως 3 ώρες. Οι χρήστες μπορούν να προσαρμόσουν την timeout για να συντομεύσουν τη διάρκεια ανανέωσης για ταχύτερο εντοπισμό αποτυχίας ή να την επεκτείνουν πέρα από τις προεπιλεγμένες 5 ώρες για πιο σύνθετες ανανεώσεις δεδομένων. Ωστόσο, η συνολική διάρκεια ανανέωσης, συμπεριλαμβανομένων των επαναλήψεων, δεν μπορεί να υπερβεί τις 24 ώρες.

Απάντηση

202 Accepted

Η απόκριση περιλαμβάνει επίσης ένα Location πεδίο κεφαλίδας απόκρισης για να παραπέμπει τον καλούντα στη λειτουργία ανανέωσης που δημιουργήθηκε και έγινε αποδεκτή. Το Location είναι η θέση του νέου πόρου που δημιούργησε η αίτηση, ο οποίος περιλαμβάνει τα requestId που απαιτούν ορισμένες βελτιωμένες λειτουργίες ανανέωσης. Για παράδειγμα, στην ακόλουθη απόκριση, requestId είναι το τελευταίο αναγνωριστικό στην απόκριση 87f31ef7-1e3a-4006-9b0b-191693e79e9e.

x-ms-request-id: 87f31ef7-1e3a-4006-9b0b-191693e79e9e
Location: https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/datasets/cfafbeb1-8037-4d0c-896e-a46fb27ff229/refreshes/87f31ef7-1e3a-4006-9b0b-191693e79e9e

GET /ανανεώσεις

Χρησιμοποιήστε το ρήμα GET στη συλλογή /refreshes για να αναφέρετε το ιστορικό, τις τρέχουσες και τις εκκρεμείς λειτουργίες ανανέωσης.

Το σώμα της απόκρισης μπορεί να μοιάζει με το παρακάτω παράδειγμα:

[
    {
        "requestId": "1344a272-7893-4afa-a4b3-3fb87222fdac",
        "refreshType": "ViaEnhancedApi",
        "startTime": "2020-12-07T02:06:57.1838734Z",
        "endTime": "2020-12-07T02:07:00.4929675Z",
        "status": "Completed",
        "extendedStatus": "Completed"
    },
    {
        "requestId": "474fc5a0-3d69-4c5d-adb4-8a846fa5580b",
        "startTime": "2020-12-07T01:05:54.157324Z",
        "refreshType": "ViaEnhancedApi",
        "status": "Unknown"
    }
    {
        "requestId": "85a82498-2209-428c-b273-f87b3a1eb905",
        "refreshType": "ViaEnhancedApi",
        "startTime": "2020-12-07T01:05:54.157324Z",
        "status": "Unknown",
        "extendedStatus": "NotStarted"
    }
]

Σημείωση

Το Power BI ενδέχεται να αποσύρει αιτήσεις εάν υπάρχουν πάρα πολλές αιτήσεις σε σύντομο χρονικό διάστημα. Το Power BI κάνει ανανέωση, ουρές στην επόμενη αίτηση και απορρίπτει όλες τις άλλες. Βάσει σχεδίασης, δεν μπορείτε να υποβάλετε ερωτήματα για την κατάσταση των αιτήσεων που απορρίφθηκαν.

Ιδιότητες απόκρισης

Όνομα Δακτυλογραφώ Περιγραφή
requestId Guid Το αναγνωριστικό της αίτησης ανανέωσης. Πρέπει requestId να ζητήσετε την κατάσταση της μεμονωμένης λειτουργίας ανανέωσης ή να ακυρώσετε μια λειτουργία ανανέωσης σε εξέλιξη.
refreshType Σειρά OnDemand υποδεικνύει ότι η ανανέωση ενεργοποιήθηκε αλληλεπιδραστικά μέσω της πύλης Power BI.
Scheduled υποδεικνύει ότι ένα χρονοδιάγραμμα ανανέωσης μοντέλου ενεργοποίησε την ανανέωση.
ViaApi υποδεικνύει ότι μια κλήση API ενεργοποίησε την ανανέωση.
ViaEnhancedApi υποδεικνύει ότι μια κλήση API ενεργοποίησε μια βελτιωμένη ανανέωση.
startTime Σειρά Ημερομηνία και ώρα έναρξης της ανανέωσης.
endTime Σειρά Ημερομηνία και ώρα λήξης ανανέωσης.
status Σειρά Completed υποδεικνύει ότι η λειτουργία ανανέωσης ολοκληρώθηκε με επιτυχία.
Failed υποδεικνύει ότι η λειτουργία ανανέωσης απέτυχε.
Unknown υποδεικνύει ότι η κατάσταση ολοκλήρωσης δεν μπορεί να προσδιοριστεί. Με αυτήν την κατάσταση, endTime είναι κενή.
Disabled υποδεικνύει ότι η ανανέωση απενεργοποιήθηκε με επιλεκτική ανανέωση.
Cancelled υποδεικνύει ότι η ανανέωση ακυρώθηκε με επιτυχία.
extendedStatus Σειρά Αυξάνει την ιδιότητα status για την παροχή περισσότερων πληροφοριών.

Σημείωση

Στις Υπηρεσίες Ανάλυσης του Azure, το τελικό status αποτέλεσμα είναι succeeded. Εάν μετεγκαταστήσετε μια λύση υπηρεσιών ανάλυσης του Azure στο Power BI, ίσως χρειαστεί να τροποποιήσετε τις λύσεις σας.

Περιορισμός του αριθμού των λειτουργιών ανανέωσης που επιστρέφονται

Το Power BI REST API υποστηρίζει τον περιορισμό του αριθμού καταχωρήσεων που ζητήθηκαν στο ιστορικό ανανέωσης, χρησιμοποιώντας την προαιρετική παράμετρο $top. Εάν δεν καθορίζεται, η προεπιλογή είναι όλες οι διαθέσιμες καταχωρήσεις.

GET https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/refreshes?$top={$top}      

GET /refreshes/<requestId>

Για να ελέγξετε την κατάσταση μιας λειτουργίας ανανέωσης, χρησιμοποιήστε το ρήμα GET στο αντικείμενο ανανέωσης καθορίζοντας το requestId. Εάν η λειτουργία βρίσκεται σε εξέλιξη, status επιστρέφει InProgress, όπως στο παρακάτω παράδειγμα σώματος απόκρισης:

{
    "startTime": "2020-12-07T02:06:57.1838734Z",
    "endTime": "2020-12-07T02:07:00.4929675Z",
    "type": "Full",
    "status": "InProgress",
    "currentRefreshType": "Full",
    "objects": [
        {
            "table": "DimCustomer",
            "partition": "DimCustomer",
            "status": "InProgress"
        },
        {
            "table": "DimDate",
            "partition": "DimDate",
            "status": "InProgress"
        }
    ]
}

DELETE /refreshes/<requestId>

Για να ακυρώσετε μια λειτουργία βελτιωμένης ανανέωσης σε εξέλιξη, χρησιμοποιήστε το ρήμα DELETE στο αντικείμενο ανανέωσης καθορίζοντας το requestId.

Για παράδειγμα

DELETE https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/datasets/cfafbeb1-8037-4d0c-896e-a46fb27ff229/refreshes/1344a272-7893-4afa-a4b3-3fb87222fdac

Ζητήματα και περιορισμοί

Η λειτουργία ανανέωσης έχει τα ακόλουθα ζητήματα και περιορισμούς:

Τυπικές λειτουργίες ανανέωσης

  • Δεν μπορείτε να ακυρώσετε προγραμματισμένες ή κατ ́απαίτηση ανανεώσεις μοντέλου που ενεργοποιήθηκαν επιλέγοντας το κουμπί ανανέωσης στην πύλη, χρησιμοποιώντας DELETE /refreshes/<requestId>.
  • Οι προγραμματισμένες και κατ ́απαίτηση ανανεώσεις μοντέλου που ενεργοποιήθηκαν επιλέγοντας το κουμπί ανανέωσης στην πύλη, δεν υποστηρίζουν τη λήψη λεπτομερειών λειτουργίας ανανέωσης χρησιμοποιώντας GET /refreshes/<requestId>.
  • Οι λειτουργίες "Λήψη λεπτομερειών" και "Άκυρο" είναι νέες λειτουργίες μόνο για βελτιωμένη ανανέωση. Η τυπική ανανέωση δεν υποστηρίζει αυτές τις λειτουργίες.

Power BI Embedded

Εάν το σύνολο εκχωρημένων πόρων διακοπεί με μη αυτόματο τρόπο στην πύλη Power BI ή με χρήση του PowerShell ή προκύψει διακοπή του συστήματος, η κατάσταση οποιασδήποτε συνεχιζόμενης βελτιωμένης λειτουργίας ανανέωσης παραμένει InProgress για μέγιστο διάστημα έξι ωρών. Εάν το σύνολο εκχωρημένων πόρων συνεχιστεί εντός έξι ωρών, η λειτουργία ανανέωσης συνεχίζεται αυτόματα. Εάν οι εκχωρημένοι πόροι συνεχιστούν μετά από περισσότερες από έξι ώρες, η λειτουργία ανανέωσης μπορεί να επιστρέψει ένα σφάλμα χρονικού ορίου. Στη συνέχεια, πρέπει να επανεκκινήσετε τη λειτουργία ανανέωσης.

Κατάργηση μοντέλου σημασιολογίας

Το Power BI χρησιμοποιεί δυναμική διαχείριση μνήμης για τη βελτιστοποίηση της μνήμης των εκχωρημένων πόρων. Εάν το μοντέλο εκκαθαριστεί από τη μνήμη κατά τη διάρκεια μιας λειτουργίας ανανέωσης, ενδέχεται να επιστραφεί το ακόλουθο σφάλμα:

{
    "messages": [
        {
            "code": "0xC11C0020",
            "message": "Session cancelled because it is connected to a database that has been evicted to free up memory for other operations",
            "type": "Error"
        }
    ]
}

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

Χρονικά όρια ανανέωσης λειτουργίας

Μια λειτουργία ανανέωσης μπορεί να περιλαμβάνει πολλές προσπάθειες εάν έχει καθοριστεί retryCount. Κάθε προσπάθεια έχει προεπιλεγμένο χρονικό όριο 5 ωρών, το οποίο μπορεί να προσαρμοστεί χρησιμοποιώντας την παράμετρο timeout. Η συνολική διάρκεια ανανέωσης, συμπεριλαμβανομένων των επαναλήψεων, δεν πρέπει να υπερβαίνει τις 24 ώρες.

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

Μπορείτε να προσαρμόσετε την timeout για να συντομεύσετε τη διάρκεια ανανέωσης για ταχύτερο εντοπισμό αποτυχίας ή να την επεκτείνετε πέρα από τις προεπιλεγμένες 5 ώρες για πιο σύνθετες ανανεώσεις δεδομένων.

Κατά τον σχεδιασμό της ανανέωσης του μοντέλου σημασιολογίας με το REST API ανανέωσης συνόλου δεδομένων, εξετάστε τα χρονικά όρια και την παράμετρο retryCount. Μια ανανέωση μπορεί να υπερβεί το χρονικό όριο εάν αποτύχει η αρχική προσπάθεια και η επανάληψηΜετρήσεις ορίζεται σε 1 ή περισσότερες. Εάν ζητήσετε ανανέωση με "επανάληψηΜετρή": 1 και η πρώτη προσπάθεια αποτύχει μετά από 4 ώρες, ξεκινά μια δεύτερη προσπάθεια. Εάν αυτό επιτύχει σε 3 ώρες, ο συνολικός χρόνος για την ανανέωση είναι 7 ώρες.

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

Δείγμα κώδικα

Για ένα δείγμα κώδικα C# για να ξεκινήσετε, ανατρέξτε στο θέμα RestApiSample στο GitHub.

Για να χρησιμοποιήσετε το δείγμα κώδικα:

  1. Κλωνοποιήστε ή κάντε λήψη του αποθετηρίου.
  2. Ανοίξτε τη λύση RestApiSample.
  3. Βρείτε τη γραμμή client.BaseAddress = … και εισαγάγετε τη διεύθυνση URL βάσης .

Το δείγμα κώδικα χρησιμοποιεί έλεγχο ταυτότητας κύριας υπηρεσίας.