Εκμάθηση: Ενσωμάτωση σελιδοποιημένων αναφορών Power BI σε μια εφαρμογή για τους πελάτες σαςTutorial: Embed Power BI paginated reports into an application for your customers

Με το Power BI Embedded στο Azure ή την ενσωμάτωση Power BI στο Office, μπορείτε να ενσωματώσετε σελιδοποιημένες αναφορές σε μια εφαρμογή, χρησιμοποιώντας τα δεδομένα της εφαρμογής.With Power BI Embedded in Azure or Power BI embedding in Office, you can embed paginated reports into an application using app owns data. Τα δεδομένα που ανήκουν στην εφαρμογή είναι όταν έχετε μια εφαρμογή που χρησιμοποιεί το Power BI ως ενσωματωμένη πλατφόρμα ανάλυσης.App owns data is about having an application that uses Power BI as its embedded analytics platform. Ως ISV ή προγραμματιστής, μπορείτε να δημιουργήσετε περιεχόμενο Power BI που εμφανίζει σελιδοποιημένες αναφορές σε μια εφαρμογή που είναι πλήρως ενοποιημένη και αλληλεπιδραστική, χωρίς να απαιτείται από τους χρήστες να έχουν άδεια χρήσης του Power BI.As an ISV or a developer, you can create Power BI content that displays paginated reports in an application that is fully integrated and interactive, without requiring users to have a Power BI license. Αυτή η εκμάθηση παρουσιάζει πώς μπορείτε να ενσωματώσετε μια αναφορά αριθμημένες σε μια εφαρμογή χρησιμοποιώντας το Power BI .NET SDK με τα API του Power BI Client.This tutorial demonstrates how to integrate a paginated report into an application using the Power BI .NET SDK with the Power BI Client APIs.

Ενσωμάτωση αναφοράς Power BI

Σε αυτή την εκμάθηση, θα μάθετε πώς μπορείτε να κάνετε τα εξής:In this tutorial, you learn how to:

  • Καταχώρηση μιας εφαρμογής στο Azure.Register an application in Azure.
  • Ενσωμάτωση μιας σελιδοποιημένης αναφοράς Power BI σε μια εφαρμογή.Embed a Power BI paginated report into an application.

ΠροαπαιτούμεναPrerequisites

Για να ξεκινήσετε, θα πρέπει να έχετε:To get started, you're required to have:

Εάν δεν έχετε μια συνδρομή Azure, δημιουργήστε έναν δωρεάν λογαριασμό προτού ξεκινήσετε.If you don't have an Azure subscription, create a free account before you begin.

Σημαντικό

Ρύθμιση του περιβάλλοντος του Power BISet up your Power BI environment

Η ενσωμάτωση μιας σελιδοποιημένης αναφοράς απαιτεί την εκχώρηση ενός χώρου εργασίας σε έναν εκχωρημένο πόρο και την αποστολή της αναφοράς στον χώρο εργασίας.Embedding a paginated report requires assigning a workspace to a capacity, and uploading the report to the workspace.

Δημιουργία χώρου εργασίας εφαρμογήςCreate an app workspace

Καθώς χρησιμοποιείτε μια κύρια υπηρεσία για να εισέλθετε στην εφαρμογή σας, απαιτείται να χρησιμοποιήσετε τους νέους χώρους εργασίας.As you're using a service principal to sign into your application, you're required to use the new workspaces. Ως κύρια υπηρεσία, πρέπει να είστε διαχειριστής ή μέλος των χώρων εργασίας εφαρμογών που συμμετέχουν στην εφαρμογή σας.As a service principal, you must also be an admin or member of the app workspaces involved with your application.

Δημιουργία εκχωρημένων πόρωνCreate a capacity

Πριν από την εισαγωγή ή την αποστολή μιας σελιδοποιημένης αναφοράς για ενσωμάτωση, ο χώρος εργασίας που περιέχει την αναφορά πρέπει να εκχωρηθεί σε εκχωρημένους πόρους τουλάχιστον Α4 ή P1.Before you import or upload a paginated report to embed, the workspace containing the report must be assigned to at least an A4 or P1 capacity. Υπάρχουν δύο τύποι εκχωρημένων πόρων για να επιλέξετε:There are two types of capacity you can choose from:

  • Power BI Premium - Για την ενσωμάτωση μιας σελιδοποιημένης αναφοράς, απαιτούνται εκχωρημένοι πόροι SKU P.Power BI Premium - For embedding a paginated report, a P SKU capacity is required. Όταν ενσωματώνετε περιεχόμενο Power BI, αυτή η λύση αναφέρεται ως Ενσωμάτωση Power BI.When embedding Power BI content, this solution is referred to as Power BI embedding. Για περισσότερες πληροφορίες σχετικά με αυτή τη συνδρομή, ανατρέξτε στο θέμα Τι είναι το Power BI Premium;For more information regarding this subscription, see What is Power BI Premium?

  • Azure Power BI Embedded - Μπορείτε να αγοράσετε εκχωρημένους πόρους από την πύλη Microsoft Azure.Azure Power BI Embedded - You can purchase a capacity from the Microsoft Azure portal. Αυτή η συνδρομή χρησιμοποιεί SKU A.This subscription uses the A SKUs. Για την ενσωμάτωση σελιδοποιημένων αναφορών χρειάζεστε τουλάχιστον μια συνδρομή A4.For embedding paginated reports you need at least an A4 subscription. Για λεπτομέρειες σχετικά με τον τρόπο δημιουργίας εκχωρημένων πόρων του Power BI Embedded, ανατρέξτε στο θέμα Δημιουργία εκχωρημένων πόρων του Power BI Embedded στην πύλη Azure.For details on how to create a Power BI Embedded capacity, see Create Power BI Embedded capacity in the Azure portal.

    Σημείωση

    Το Power BI Embedded πρόσφατα κυκλοφόρησε μια νέα έκδοση, η οποία ονομάζεται Embedded Gen2.Power BI Embedded recently released a new version, called Embedded Gen2. Το Embedded Gen2 θα απλοποιήσει τη διαχείριση των ενσωματωμένων δυνατοτήτων και θα βελτιώσει την εμπειρία Power BI Embedded.Embedded Gen2 will simplify the management of embedded capacities, and improve the Power BI Embedded experience. Για να δείτε περισσότερες πληροφορίες, ανατρέξτε στο θέμα Power BI Embedded Generation 2.For more information, see Power BI Embedded Generation 2.

Ο παρακάτω πίνακας περιγράφει τους πόρους και τα όρια για κάθε SKU.The table below describes the resources and limits of each SKU. Για να προσδιορίσετε ποιοι εκχωρημένοι πόροι ταιριάζουν καλύτερα με τις ανάγκες σας, ανατρέξτε στον πίνακα Ποιες SKU θα πρέπει να αγοράσω για το σενάριό μου.To determine which capacity best fits your needs, see the which SKU should I purchase for my scenario table.

Κόμβοι εκχωρημένων πόρωνCapacity Nodes Σύνολο εικονικών πυρήνωνTotal v-cores Εικονικοί πυρήνες παρασκηνίουBackend v-cores RAM (GB)RAM (GB) Εικονικοί πυρήνες προσκηνίουFrontend v-cores
A1 με Embedded Gen2A1 with Embedded Gen2 11 0,50.5 2.52.5 0,50.5
A2 με Embedded Gen2A2 with Embedded Gen2 22 11 55 11
A3 με Embedded Gen2A3 with Embedded Gen2 44 22 1010 22
P1/A4P1/A4 88 44 2525 44
P2/A5P2/A5 1616 88 5050 88
P3/A6P3/A6 3232 1616 100100 1616

Εκχώρηση χώρου εργασίας εφαρμογής σε σύνολο εκχωρημένων πόρωνAssign an app workspace to a capacity

Όταν δημιουργήσετε εκχωρημένους πόρους, μπορείτε να εκχωρήσετε τον χώρο εργασίας εφαρμογής σε αυτούς τους εκχωρημένους πόρους.Once you create a capacity, you can assign your app workspace to that capacity.

Για να αντιστοιχίσετε εκχωρημένους πόρους σε έναν χώρο εργασίας χρησιμοποιώντας την κύρια υπηρεσία, χρησιμοποιείστε τα Power BI REST API.To assign a capacity to a workspace using service principal, use the Power BI REST API. Κατά τη χρήση των Power BI REST API, βεβαιωθείτε ότι χρησιμοποιείτε το αναγνωριστικό αντικειμένου κύριας υπηρεσίας.When you are using the Power BI REST APIs, make sure to use the service principal object ID.

Δημιουργία και αποστολή σελιδοποιημένων αναφορώνCreate and upload your paginated reports

Μπορείτε να δημιουργήσετε τις σελιδοποιημένες αναφορές σας με το Εργαλείο δόμησης αναφορών του Power BI και, στη συνέχεια, να αποστείλετε την αναφορά στην υπηρεσία.You can create your paginated report using Power BI Report Builder, and then upload the report to the service.

Μπορείτε να εισαγάγετε σελιδοποιημένες αναφορές σε νέους χώρους εργασίας, χρησιμοποιώντας τα Power BI REST API.You can import paginated reports into the new workspaces using the Power BI REST APIs.

Ενσωμάτωση περιεχομένου με χρήση του δείγματος εφαρμογήςEmbed content using the sample application

Αυτό το δείγμα διατηρείται σκόπιμα απλό για σκοπούς επίδειξης.This sample is deliberately kept simple for demonstration purposes. Εναπόκειται σε σάς ή στους προγραμματιστές σας να προστατεύσετε το μυστικό της εφαρμογής.It's up to you or your developers to protect the application secret.

Ακολουθήστε τα παρακάτω βήματα για να ξεκινήσετε την ενσωμάτωση του περιεχομένου σας, χρησιμοποιώντας το δείγμα εφαρμογής.Follow the steps below to start embedding your content using the sample application.

  1. Κάντε λήψη του Visual Studio, (έκδοση 2013 ή νεότερη).Download Visual Studio (version 2013 or later). Φροντίστε να κάνετε λήψη του τελευταίου πακέτου NuGet.Make sure to download the latest NuGet package.

  2. Κάντε λήψη του δείγματος App Owns Data από το GitHub για να ξεκινήσετε.Download the App Owns Data sample from GitHub to get started.

    Δείγμα εφαρμογής App Owns Data

  3. Ανοίξτε το αρχείο Web.config στο δείγμα εφαρμογής.Open the Web.config file in the sample application. Υπάρχουν πεδία που πρέπει να συμπληρώσετε για να εκτελέσετε την εφαρμογή.There are fields you need to fill in to run the application. Επιλέξτε ServicePrincipal για το στοιχείο AuthenticationType.Choose ServicePrincipal for the AuthenticationType.

    Συμπληρώστε τα ακόλουθα πεδία:Fill in the following fields:

    Σημείωση

    Η προεπιλογή για το στοιχείο AuthenticationType σε αυτό το δείγμα είναι MasterUser.The default AuthenticationType in this sample is MasterUser. Βεβαιωθείτε ότι την αλλάζετε σε ServicePrincipal.Make sure you change it to ServicePrincipal.

    Αρχείο Web Config

Αναγνωριστικό εφαρμογήςApplication ID

Συμπληρώστε τις πληροφορίες applicationId με το Αναγνωριστικό εφαρμογής από το Azure.Fill in the applicationId information with the Application ID from Azure. Το applicationId χρησιμοποιείται από την εφαρμογή για να προσδιορίσει τον εαυτό της στους χρήστες από τους οποίους ζητάτε δικαιώματα.The applicationId is used by the application to identify itself to the users from which you're requesting permissions.

Για να λάβετε το applicationId, ακολουθήστε τα εξής βήματα:To get the applicationId, follow these steps:

  1. Πραγματοποιήστε είσοδο στην πύλη Azure.Sign into the Azure portal.

  2. Στο παράθυρο περιήγησης στα αριστερά, επιλέξτε Όλες οι υπηρεσίες και αναζητήστε τις Καταχωρήσεις εφαρμογών.In the left-hand nav pane, select All Services, and search for App Registrations.

    Αναζήτηση καταχώρησης εφαρμογής

  3. Επιλέξτε την εφαρμογή που χρειάζεται να χρησιμοποιήσει το applicationId.Select the application that needs the applicationId.

    Στιγμιότυπο οθόνης που εμφανίζει τα εμφανιζόμενα ονόματα των εφαρμογών με ένα επιλεγμένο που χρειάζεται το αναγνωριστικό εφαρμογής.

  4. Υπάρχει ένα Αναγνωριστικό εφαρμογής που παρατίθεται ως GUID.There's an Application ID that is listed as a GUID. Χρησιμοποιήστε αυτό το Αναγνωριστικό εφαρμογής ως το applicationId για την εφαρμογή.Use this Application ID as the applicationId for the application.

    applicationId

Αναγνωριστικό χώρου εργασίαςWorkspace ID

Συμπληρώστε τις πληροφορίες workspaceId με τον χώρο εργασίας εφαρμογής (ομάδα) από το Power BI.Fill in the workspaceId information with the app workspace (group) GUID from Power BI. Μπορείτε να λάβετε αυτές τις πληροφορίες από τη διεύθυνση URL κατά την είσοδο στην υπηρεσία Power BI ή χρησιμοποιώντας το PowerShell.You can get this information either from the URL when signed into the Power BI service or using PowerShell.

Διεύθυνση URLURL

workspaceId

PowerShellPowerShell

Get-PowerBIworkspace -name "Paginated Report Embed"

workspaceId από το PowerShell

Αναγνωριστικό αναφοράςReport ID

Συμπληρώστε τις πληροφορίες reportId με το GUID αναφοράς από το Power BI.Fill in the reportId information with the report GUID from Power BI. Μπορείτε να λάβετε αυτές τις πληροφορίες από τη διεύθυνση URL κατά την είσοδο στην υπηρεσία Power BI ή χρησιμοποιώντας το PowerShell.You can get this information either from the URL when signed into the Power BI service or using PowerShell.

Διεύθυνση URLURL

reportId

PowerShellPowerShell

Get-PowerBIworkspace -name "Paginated Report Embed" | Get-PowerBIReport

reportId από το PowerShell

Μυστικός κωδικός εφαρμογήςApplication secret

Συμπληρώστε τις πληροφορίες ApplicationSecret από την ενότητα Κλειδιά της ενότητας Καταχωρήσεις εφαρμογών στο Azure.Fill in the ApplicationSecret information from the Keys section of your App registrations section in Azure.

Για να λάβετε το ApplicationSecret, ακολουθήστε τα εξής βήματα:To get the ApplicationSecret, follow these steps:

  1. Πραγματοποιήστε είσοδο στην πύλη Azure.Sign in to the Azure portal.

  2. Στο παράθυρο περιήγησης στα αριστερά, επιλέξτε Όλες οι υπηρεσίες και αναζητήστε για Καταχωρήσεις εφαρμογών.In the left-hand nav pane, select All services and search for App registrations.

    Αναζήτηση καταχώρησης εφαρμογής

  3. Επιλέξτε την εφαρμογή που χρειάζεται να χρησιμοποιήσει το ApplicationSecret.Select the application that needs to use the ApplicationSecret.

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

  4. Επιλέξτε Πιστοποιητικά και μυστικοί κωδικοί στη Διαχείριση.Select Certificates and secrets under Manage.

  5. Επιλέξτε Νέοι μυστικοί κωδικοί προγράμματος-πελάτη.Select New client secrets.

  6. Καταχωρήστε ένα όνομα στο πλαίσιο Περιγραφή και επιλέξτε μια διάρκεια.Enter a name in the Description box and select a duration. Στη συνέχεια, επιλέξτε Αποθήκευση για να λάβετε την Τιμή για την εφαρμογή σας.Then select Save to get the Value for your application. Όταν κλείσετε το τμήμα παραθύρου Κλειδιά αφού αποθηκεύσετε την τιμή κλειδιού, το πεδίο τιμής εμφανίζεται μόνο ως κρυφό.When you close the Keys pane after saving the key value, the value field shows only as hidden. Σε αυτό το σημείο, δεν μπορείτε να ανακτήσετε την τιμή κλειδιού.At that point, you aren't able to retrieve the key value. Αν χάσετε την τιμή κλειδιού, δημιουργήστε μια νέα στην πύλη Azure.If you lose the key value, create a new one in the Azure portal.

    Τιμή κλειδιού

ΜισθωτήςTenant

Συμπληρώστε τα στοιχεία μισθωτή με το αναγνωριστικό μισθωτή Azure που χρησιμοποιείτε.Fill in the tenant information with your Azure tenant ID. Μπορείτε να λάβετε αυτές τις πληροφορίες από το κέντρο διαχείρισης του Azure AD κατά την είσοδο στην υπηρεσία Power BI ή χρησιμοποιώντας το PowerShell.You can get this information from the Azure AD admin center when signed into the Power BI service or by using PowerShell.

Εκτέλεση της εφαρμογήςRun the application

  1. Επιλέξτε Εκτέλεση στο Visual Studio.Select Run in Visual Studio.

    Εκτέλεση της εφαρμογής

  2. Στη συνέχεια, επιλέξτε Ενσωμάτωση αναφοράς.Then select Embed Report.

    Επιλογή περιεχομένου

  3. Τώρα μπορείτε να προβάλετε την αναφορά στο δείγμα εφαρμογής.Now you can view the report in the sample application.

    Προβολή εφαρμογής

Ενσωμάτωση σελιδοποιημένων αναφορών Power BI στην εφαρμογή σαςEmbed Power BI paginated reports within your application

Παρόλο που τα βήματα για την ενσωμάτωση των σελιδοποιημένων αναφορών σας Power BI πραγματοποιούνται με τα API REST του Power BI, τα παραδείγματα κώδικα που περιγράφονται σε αυτό το άρθρο έχουν γίνει με το .NET SDK.Even though the steps to embed your Power BI paginated reports are done with the Power BI REST APIs, the example codes described in this article are made with the .NET SDK.

Η ενσωμάτωση σελιδοποιημένων αναφορών Power BI για τους πελάτες σας εντός της εφαρμογής σας απαιτεί να έχετε μια κύρια υπηρεσία Azure AD και να λάβετε ένα διακριτικό πρόσβασης Azure AD για την εφαρμογή σας Power BI, προτού πραγματοποιήσετε κλήσεις στα Power BI REST API.Embedding Power BI paginated reports for your customers within your application, requires you to have an Azure AD service principal and get an Azure AD access token for your Power BI application, before you make calls to the Power BI REST APIs.

Για να δημιουργήσετε το πρόγραμμα-πελάτη του Power BI με το διακριτικό πρόσβασης, δημιουργήστε ένα αντικείμενο προγράμματος-πελάτη του Power BI που σας επιτρέπει να αλληλεπιδράσετε με τα API REST του Power BI.To create the Power BI Client with your access token, create a Power BI client object, which allows you to interact with the Power BI REST APIs. Δημιουργείτε το αντικείμενο προγράμματος-πελάτη Power BI με την περιτύλιγμα του AccessToken με ένα αντικείμενο Microsoft. REST. TokenCredentials .You create the Power BI client object by wrapping the AccessToken with a Microsoft.Rest.TokenCredentials object.

using Microsoft.IdentityModel.Clients.ActiveDirectory;
using Microsoft.Rest;
using Microsoft.PowerBI.Api.V2;

var tokenCredentials = new TokenCredentials(authenticationResult.AccessToken, "Bearer");

// Create a Power BI Client object. it's used to call Power BI APIs.
using (var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials))
{
    // Your code to embed items.
}

Λήψη της σελιδοποιημένης αναφοράς που θέλετε να ενσωματώσετεGet the paginated report you want to embed

Μπορείτε να χρησιμοποιήσετε το αντικείμενο προγράμματος-πελάτη του Power BI, για να λάβετε μια αναφορά για το στοιχείο που θέλετε να ενσωματώσετε.You can use the Power BI client object to retrieve a reference to the item you want to embed.

Ακολουθεί ένα παράδειγμα κώδικα για τον τρόπο με τον οποίο μπορείτε να λάβετε την πρώτη αναφορά από έναν συγκεκριμένο χώρο εργασίας.Here is a code sample of how to retrieve the first report from a given workspace.

Στο αρχείο Services\EmbedService.cs στο δείγμα εφαρμογής, μπορείτε να βρείτε ένα δείγμα σχετικά με τη λήψη ενός στοιχείου περιεχομένου όπως μια αναφορά, έναν πίνακα εργαλείων ή ένα πλακίδιο που θέλετε να ενσωματώσετε.A sample of getting a content item whether it's a report, dashboard, or tile that you want to embed is available within the Services\EmbedService.cs file in the sample application.

using Microsoft.PowerBI.Api.V2;
using Microsoft.PowerBI.Api.V2.Models;

// You need to provide the workspaceId where the dashboard resides.
ODataResponseListReport reports = await client.Reports.GetReportsInGroupAsync(workspaceId);

// Get the first report in the group.
Report report = reports.Value.FirstOrDefault();

Δημιουργία του διακριτικού ενσωμάτωσηςCreate the embed token

Δημιουργήστε ένα διακριτικό ενσωμάτωσης, το οποίο μπορεί να χρησιμοποιηθεί από τα Power BI ενσωματωμένα API του προγράμματος-πελάτη ανάλυσης.Generate an embed token, which can be used from the Power BI embedded analytics Client APIs. Για να δημιουργήσετε ένα διακριτικό ενσωμάτωσης για την ενσωμάτωση σελιδοποιημένων αναφορών Power BI, χρησιμοποιήστε το API Reports GenerateTokenInGroup.To create an embedded token for embedding Power BI paginated reports, use the Reports GenerateTokenInGroup API.

Ένα δείγμα σχετικά με τη δημιουργία ενός διακριτικού ενσωμάτωσης είναι διαθέσιμο μέσα στο αρχείο Services\EmbedService.cs στο δείγμα εφαρμογής.A sample of creating an embed token is available within the Services\EmbedService.cs file in the sample application.

using Microsoft.PowerBI.Api.V2;
using Microsoft.PowerBI.Api.V2.Models;

// Generate Embed Token.
var generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "view");
EmbedToken tokenResponse = client.Reports.GenerateTokenInGroup(workspaceId, report.Id, generateTokenRequestParameters);

// Generate Embed Configuration.
var embedConfig = new EmbedConfig()
{
    EmbedToken = tokenResponse,
    EmbedUrl = report.EmbedUrl,
    Id = report.Id
};

Φόρτωση στοιχείου με χρήση των API προγράμματος-πελάτηLoad an item using the Client APIs

Μπορείτε να χρησιμοποιήσετε τα Power BI API του ενσωματωμένου προγράμματος-πελάτη ανάλυσης για να φορτώσετε μια αναφορά αριθμημένες σε ένα στοιχείο DIV στην ιστοσελίδα σας.You can use the Power BI embedded analytics Client APIs to load a paginated report into a div element on your web page.

Για ένα πλήρες δείγμα της χρήσης του API-πελάτη, μπορείτε να χρησιμοποιήσετε το εργαλείο παιδικών χαρών.For a full sample of using the Client API, you can use the Playground tool. Το εργαλείο Playground είναι ένας γρήγορος τρόπος για να πειραματιστείτε με διάφορους τύπους δειγμάτων του Power BI Embedded.The Playground tool is a quick way to play with different types of Power BI Embedded samples. Μπορείτε επίσης να λάβετε περισσότερες πληροφορίες σχετικά με το API του Power BI ενσωματωμένου προγράμματος-πελάτη αναλύσεων, επισκεπτόμενοι την Power BI σελίδα API του ενσωματωμένου προγράμματος-πελάτη ανάλυσης .You can also get more Information about the Power BI embedded analytics Client API by visiting the Power BI embedded analytics Client APIs page.

Επόμενα βήματαNext steps

Σε αυτό το εκπαιδευτικό βοήθημα, μάθατε πώς να ενσωματώνετε σελιδοποιημένες αναφορές Power BI σε μια εφαρμογή για τους πελάτες σας.In this tutorial, you've learned how to embed Power BI paginated reports into an application for your customers. Μπορείτε επίσης να δοκιμάσετε να ενσωματώσετε περιεχόμενο Power BI για τους πελάτες ή τον οργανισμό σας.You can also try to embed Power BI content for your customers or your organization.

Έχετε περισσότερες ερωτήσεις;More questions? Δοκιμάστε να ρωτήσετε την κοινότητα του Power BITry asking the Power BI Community