Kurz: Vložení stránkovaných sestav Power BI do aplikace pro zákazníkyTutorial: Embed Power BI paginated reports into an application for your customers

S Power BI Embedded v Azure nebo vkládáním Power BI v Office můžete vkládat stránkované sestavy do aplikace pomocí možnosti aplikace vlastní data.With Power BI Embedded in Azure or Power BI embedding in Office, you can embed paginated reports into an application using app owns data. Aplikace vlastní data znamená mít aplikaci, která používá Power BI jako svoji vloženou analytickou platformu.App owns data is about having an application that uses Power BI as its embedded analytics platform. Jako nezávislý výrobce softwaru nebo vývojář můžete vytvářet obsah Power BI, který bude zobrazovat stránkované sestavy v plně integrované a interaktivní aplikaci. Uživatelé nemusí mít licenci 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. Tento kurz ukazuje, jak integrovat stránkovanou sestavu do aplikace pomocí sady Power BI .NET SDK s rozhraním Power BI JavaScript API.This tutorial demonstrates how to integrate a paginated report into an application using the Power BI .NET SDK with the Power BI JavaScript API.

Power BI Embed Report

V tomto kurzu se naučíte:In this tutorial, you learn how to:

  • Zaregistrovat aplikaci v AzureRegister an application in Azure.
  • Vložit stránkovanou sestavu Power BI do aplikaceEmbed a Power BI paginated report into an application.

PožadavkyPrerequisites

Abyste mohli začít, je nutné mít:To get started, you're required to have:

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet, ještě než začnete.If you don't have an Azure subscription, create a free account before you begin.

Důležité

Nastavení prostředí Power BISet up your Power BI environment

Vložení stránkované sestavy vyžaduje přiřazení pracovního prostoru ke kapacitě a nahrání sestavy do pracovního prostoru.Embedding a paginated report requires assigning a workspace to a capacity, and uploading the report to the workspace.

Vytvořit pracovní prostor aplikaceCreate an app workspace

Protože pro přihlášení k aplikaci používáte instanční objekt, musíte použít nové pracovní prostory.As you're using a service principal to sign into your application, you're required to use the new workspaces. Jako instanční objekt musíte být také správcem nebo členem pracovních prostorů aplikace, které jsou s vaší aplikací spojené.As a service principal, you must also be an admin or member of the app workspaces involved with your application.

Vytvoření kapacityCreate a capacity

Než naimportujete nebo nahrajete stránkovanou sestavu pro vložení, musí být pracovní prostor obsahující sestavu přiřazen alespoň ke kapacitě A4 nebo 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. Existují dva typy kapacity, ze kterých můžete vybírat:There are two types of capacity you can choose from:

  • Power BI Premium – pro vložení stránkované sestavy, vyžaduje kapacitu SKU P.Power BI Premium - For embedding a paginated report, a P SKU capacity is required. Při vkládání obsahu Power BI se toto řešení označuje jako vkládání Power BI.When embedding Power BI content, this solution is referred to as Power BI embedding. Další informace týkající se tohoto předplatného najdete v tématu Co je Power BI Premium.For more information regarding this subscription, see What is Power BI Premium?
  • Azure Power BI Embedded: Kapacitu můžete koupit na portálu Microsoft Azure.Azure Power BI Embedded - You can purchase a capacity from the Microsoft Azure portal. Toto předplatné používá SKU A.This subscription uses the A SKUs. Pro vkládání stránkovaných sestav potřebujete alespoň předplatné A4.For embedding paginated reports you need at least an A4 subscription. Podrobnosti o vytvoření kapacity Power BI Embedded najdete v článku o vytvoření kapacity Power BI Embedded na portálu Azure Portal.For details on how to create a Power BI Embedded capacity, see Create Power BI Embedded capacity in the Azure portal.

Následující tabulka popisuje prostředky a omezení jednotlivých SKU.The table below describes the resources and limits of each SKU. Pokud chcete zjistit, která kapacita nejlépe vyhovuje vašim potřebám, podívejte se na tabulku, ze které se dozvíte, jakou SKU koupit pro váš scénář.To determine which capacity best fits your needs, see the which SKU should I purchase for my scenario table.

Uzly kapacityCapacity Nodes Celkový počet virtuálních jaderTotal v-cores Back-endová virtuální jádraBackend v-cores RAM (GB)RAM (GB) Front-endová virtuální jádraFrontend v-cores
P1/A4P1/A4 88 44 2525 44
P2/A5P2/A5 1616 88 5050 88
P3/A6P3/A6 3232 1616 100100 1616

Přiřazení pracovního prostoru aplikace ke kapacitěAssign an app workspace to a capacity

Jakmile kapacitu vytvoříte, můžete k ní přiřadit pracovní prostor aplikace.Once you create a capacity, you can assign your app workspace to that capacity.

Pro přiřazení kapacity k pracovnímu prostoru pomocí instančního objektu použijte rozhraní Power BI REST API.To assign a capacity to a workspace using service principal, use the Power BI REST API. Při použití rozhraní Power BI REST API je nutné použít ID instančního objektu.When you are using the Power BI REST APIs, make sure to use the service principal object ID.

Vytváření a nahrávání stránkovaných sestavCreate and upload your paginated reports

Stránkovanou sestavu můžete vytvořit pomocí Tvůrce sestav Power BI a potom tuto sestavu můžete nahrát do služby.You can create your paginated report using Power BI Report Builder, and then upload the report to the service.

Stránkované sestavy můžete importovat do nových pracovních prostorů pomocí rozhraní Power BI REST API.You can import paginated reports into the new workspaces using the Power BI REST APIs.

Vložení obsahu pomocí ukázkové aplikaceEmbed content using the sample application

Tato ukázka je záměrně jednoduchá pro demonstrační účely.This sample is deliberately kept simple for demonstration purposes. Je na vás nebo na vašich vývojářích, abyste zajistili ochranu tajného kódu aplikace.It's up to you or your developers to protect the application secret.

Postupem podle kroků uvedených níže začněte vkládat svůj obsah pomocí ukázkové aplikace.Follow the steps below to start embedding your content using the sample application.

  1. Stáhněte si Visual Studio (verzi 2013 nebo novější).Download Visual Studio (version 2013 or later). Nezapomeňte si stáhnout nejnovější balíček NuGet.Make sure to download the latest NuGet package.

  2. Abyste mohli začít, stáhněte si ukázku Aplikace vlastní data z GitHubu.Download the App Owns Data sample from GitHub to get started.

    Ukázka aplikace Aplikace vlastní data

  3. Otevřete soubor Web.config v ukázkové aplikaci.Open the Web.config file in the sample application. Aby se aplikace spustila, musíte vyplnit několik polí.There are fields you need to fill in to run the application. Jako AuthenticationType můžete zvolit ServicePrincipal.Choose ServicePrincipal for the AuthenticationType.

    Vyplňte následující pole:Fill in the following fields:

    Poznámka

    Výchozí hodnota pro AuthenticationType v této ukázce je MasterUser.The default AuthenticationType in this sample is MasterUser. Nezapomeňte ji změnit na ServicePrincipal.Make sure you change it to ServicePrincipal.

    Webový konfigurační soubor

ID aplikaceApplication ID

Jako applicationId zadejte ID aplikace z Azure.Fill in the applicationId information with the Application ID from Azure. Údaj applicationId používá aplikace k tomu, aby se identifikovala pro uživatele, od kterých požadujete oprávnění.The applicationId is used by the application to identify itself to the users from which you're requesting permissions.

Údaj applicationId získáte takto:To get the applicationId, follow these steps:

  1. Přihlaste se k portálu Azure Portal.Sign into the Azure portal.

  2. V levém navigačním podokně vyberte Všechny služby a vyhledejte Registrace aplikací.In the left-hand nav pane, select All Services, and search for App Registrations.

    Vyhledávání registrace aplikací

  3. Vyberte aplikaci, která vyžaduje applicationId.Select the application that needs the applicationId.

    Snímek obrazovky se zobrazovanými názvy aplikací a jednou vybranou, která potřebuje I D aplikace

  4. ID aplikace je uvedené jako identifikátor GUID.There's an Application ID that is listed as a GUID. Toto ID aplikace použijte jako applicationId pro aplikaci.Use this Application ID as the applicationId for the application.

    applicationId

ID pracovního prostoruWorkspace ID

Jako workspaceId zadejte GUID pracovního prostoru aplikace (skupiny) z Power BI.Fill in the workspaceId information with the app workspace (group) GUID from Power BI. Tento údaj získáte z adresy URL při přihlášení ke službě Power BI nebo pomocí PowerShellu.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 z PowerShellu

ID sestavyReport ID

Jako reportId zadejte GUID sestavy z Power BI.Fill in the reportId information with the report GUID from Power BI. Tento údaj získáte z adresy URL při přihlášení ke službě Power BI nebo pomocí PowerShellu.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 z PowerShellu

Tajný kód aplikaceApplication secret

Jako ApplicationSecret použijte údaj z části Klíče v části Registrace aplikací v Azure.Fill in the ApplicationSecret information from the Keys section of your App registrations section in Azure.

Údaj ApplicationSecret získáte takto:To get the ApplicationSecret, follow these steps:

  1. Přihlaste se k portálu Azure Portal.Sign in to the Azure portal.

  2. V levém navigačním podokně vyberte Všechny služby a vyhledejte Registrace aplikací.In the left-hand nav pane, select All services and search for App registrations.

    Vyhledávání registrace aplikací

  3. Vyberte aplikaci, která potřebuje použít ApplicationSecret.Select the application that needs to use the ApplicationSecret.

    Snímek obrazovky se zobrazovanými názvy aplikací a jednou vybranou, která potřebuje tajný klíč aplikace

  4. V části Spravovat vyberte Certifikáty a tajné kódy.Select Certificates and secrets under Manage.

  5. Vyberte Nové tajné kódy klienta.Select New client secrets.

  6. Do pole Popis zadejte název a vyberte dobu trvání.Enter a name in the Description box and select a duration. Potom vyberte Uložit a získáte Hodnotu pro svou aplikaci.Then select Save to get the Value for your application. Když po uložení hodnoty klíče zavřete podokno Klíče, pole hodnoty se zobrazí pouze jako skryté.When you close the Keys pane after saving the key value, the value field shows only as hidden. V tuto chvíli nebudete moct hodnotu klíče načíst.At that point, you aren't able to retrieve the key value. Pokud hodnotu klíče ztratíte, vytvořte na portálu Azure Portal nový.If you lose the key value, create a new one in the Azure portal.

    Hodnota klíče

TenantTenant

Jako tenant zadejte ID tenanta Azure.Fill in the tenant information with your azure tenant ID. Tento údaj získáte v Centru pro správu Azure AD, když jste přihlášení ke službě Power BI, nebo můžete použít PowerShell.You can get this information from the Azure AD admin center when signed into the Power BI service or by using PowerShell.

Spuštění aplikaceRun the application

  1. Vyberte Spustit ve Visual Studiu.Select Run in Visual Studio.

    Spuštění aplikace

  2. Pak vyberte Vložit sestavu.Then select Embed Report.

    Výběr obsahu

  3. Teď můžete sestavu v ukázkové aplikaci zobrazit.Now you can view the report in the sample application.

    Zobrazení aplikace

Vložení stránkovaných sestav Power BI do aplikaceEmbed Power BI paginated reports within your application

I když jsou kroky k vložení stránkovaných sestav Power BI provedené pomocí rozhraní Power BI REST API, ukázkové kódy popsané v tomto článku jsou vytvořené pomocí sady .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.

K vložení stránkovaných sestav Power BI do aplikace, kterou budou používat vaši zákazníci, je potřeba mít instanční objekt Azure AD a získat přístupový token Azure AD pro aplikaci Power BI, a to ještě před voláním rozhraní 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.

K vytvoření klienta Power BI pomocí přístupového tokenu vytvořte objekt klienta Power BI, který vám umožní komunikovat s rozhraními Power BI REST API.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. Objekt klienta Power BI vytvoříte zabalením přístupového tokenu AccessToken do objektu 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.
}

Získání stránkované sestavy, kterou chcete vložitGet the paginated report you want to embed

Objekt klienta Power BI můžete použít k načtení odkazu na položku, kterou chcete vložit.You can use the Power BI client object to retrieve a reference to the item you want to embed.

Tady je ukázkový kód k načtení první sestavy z daného pracovního prostoru.Here is a code sample of how to retrieve the first report from a given workspace.

Příklad získání položky obsahu, ať je to vkládaná sestava, řídicí panel nebo dlaždice, je k dispozici v ukázkové aplikaci v souboru 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();

Vytvoření tokenu pro vloženíCreate the embed token

Vygenerujte token pro vložení, který se bude dát použít z javascriptového rozhraní API.Generate an embed token, which can be used from the JavaScript API. Pokud chcete vytvořit token pro vložení stránkovaných sestav Power BI, použijte rozhraní API GenerateTokenInGroup pro sestavy.To create an embedded token for embedding Power BI paginated reports, use the Reports GenerateTokenInGroup API.

Příklad vytvoření tokenu pro vložení je k dispozici v souboru Services\EmbedService.cs v ukázkové aplikaci.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
};

Načtení položky pomocí JavaScriptuLoad an item using JavaScript

Pomocí JavaScriptu můžete načíst stránkovanou sestavu do elementu div na své webové stránce.You can use JavaScript to load a paginated report into a div element on your web page.

Pro kompletní ukázku použití rozhraní API pro JavaScript můžete použít nástroj Playground.For a full sample of using the JavaScript API, you can use the Playground tool. Nástroj Playground představuje rychlý způsob, jak si pohrát s různými typy ukázek Power BI Embedded.The Playground tool is a quick way to play with different types of Power BI Embedded samples. Další informace o rozhraní API pro JavaScript můžete získat také na stránce wiki PowerBI-JavaScript.You can also get more Information about the JavaScript API by visiting the PowerBI-JavaScript wiki page.

Další krokyNext steps

V tomto kurzu jste se naučili vložit do aplikace pro zákazníky stránkované sestavy Power BI.In this tutorial, you've learned how to embed Power BI paginated reports into an application for your customers. Můžete si také vyzkoušet vložení obsahu Power BI pro zákazníky nebo pro organizaci.You can also try to embed Power BI content for your customers or your organization.

Máte další otázky?More questions? Zkuste se zeptat v komunitě Power BI.Try asking the Power BI Community