Oktatóanyag: Power BI-tartalom beágyazása az alkalmazásba országos felhők számáraTutorial: Embed a Power BI content into your application for national clouds

Elsajátíthatja analitikai tartalom beágyazását üzletifolyamat-alkalmazásaiba az országos felhő számára.Learn how to embed analytical content within your business process applications for the national cloud. A Power BI .NET SDK és a Power BI JavaScript API segítségével jelentést, irányítópultot vagy csempét ágyazhat be webalkalmazásába.You can use the Power BI .NET SDK with the Power BI JavaScript API to embed a report, dashboard, or tile, into your web applications.

A Power BI az felhőket is támogatja.Power BI also supports national clouds.

A különböző országos felhők az alábbiak:The different national clouds are:

  • Egyesült Államok Kormányzati közösségi felhő (GCC)U.S. Government Community Cloud (GCC)

  • EgyesültU. S.S. Kormányzati közösségi felhő High (GCC High)Government Community Cloud High (GCC High)

  • EgyesültU. S.S. Katonai alvállalkozók (DoDCON)Military Contractors (DoDCON)

  • EgyesültU. S.S. Katonaság (DoD)Military (DoD)

  • A németországi felhőhöz készült Power BIPower BI for Germany cloud

  • A kínai felhőhöz készült Power BIPower BI for China cloud

Beágyazott irányítópult

A bemutató megkezdéséhez Power BI-fiókra van szükség.To get started with this walkthrough, you need a Power BI account. Ha nem rendelkezik beállított fiókkal, akkor a kormányzati típustól vagy az országtól függően kiválaszthatja az Ön számára megfelelő országos felhőt.If you don't have an account set up, then depending on the type of government or country you can choose the right national cloud for you. Regisztrálhat egy egyesült államokbeli kormányzati Power BI-fiókot, egy németországi felhőhöz készült Power BI-fiókot vagy egy kínai felhőhöz készült Power BI-fiókot.You can sign up for a U. S. government Power BI account, a Power BI for Germany cloud account or a Power BI for China cloud account.

Megjegyzés

A saját cégének szeretne irányítópultot beágyazni?Looking to embed a dashboard for your organization instead? Tekintse meg az irányítópult céges alkalmazásba való integrálását ismertető cikket.See, Integrate a dashboard into an app for your organization.

Egy irányítópult webalkalmazásba ágyaszásához használja a Power BI API-t, és egy Azure Active Directory (AD) engedélyezési hozzáférési tokent az irányítópult lekéréséhez.To integrate a dashboard into a web app, you use the Power BI API, and an Azure Active Directory (AD) authorization access token to get a dashboard. Ezután töltse be az irányítópultot egy beágyazási token használatával.Then, you load the dashboard using an embed token. A Power BI API szoftveres hozzáférést biztosít meghatározott Power BI-erőforrásokhoz.The Power BI API provides programmatic access to specific Power BI resources. További információt a Power BI REST API, a Power BI .NET SDK és a Power BI JavaScript API cikkében talál.For more information, see Power BI REST API, [Power BI .NET SDK, and the Power BI JavaScript API.

A minta letöltéseDownload the sample

Ez a cikk a GitHubon, az alkalmazás tulajdonában lévő adatok mintában használt kódot mutatja be.This article shows the code used in the App Owns Data sample on GitHub. A bemutató követéséhez letöltheti a mintát.To follow along with this walkthrough, you can download the sample.

Alkalmazás tulajdonában lévő adatok minta

  • Kormányzati közösségi felhő (GCC):Government Community Cloud (GCC):

    Megjegyzés

    Power BI-tartalmak Kormányzati közösségi felhőből (GCC-ből) csak egy Microsoft 365-termékváltozattal ágyazhatók be.Embedding Power BI content from a Government Community Cloud (GCC), can only be done with a Microsoft 365 SKU. Az országos felhő más ügyfelei használhatják a Microsoft 365 vagy az Azure termékváltozatait.Other national cloud customers can use Microsoft 365 or Azure SKUs.

  1. Írja felül a Cloud.config fájlt a GCCCloud.config tartalmával.Overwrite Cloud.config file with GCCCloud.config content.

  2. Frissítse az applicationId (natív alkalmazáshoz tartozó applicationId), a workspaceId, a felhasználó (a fő felhasználó) és a jelszó értékét a Web.config fájlban.Update applicationId (Native app applicationId), workspaceId, the user (your master user), and password in Web.config file.

  3. Az alábbiaknak megfelelően adja hozzá a GCC-paramétereket a web.config fájlhoz.Add the GCC parameters in the web.config file as follows.

<add key="authorityUrl" value="https://login.microsoftonline.com/common/" />
<add key="resourceUrl" value="https://analysis.usgovcloudapi.net/powerbi/api" />
<add key="apiUrl" value="https://api.powerbigov.us/" />
<add key="embedUrlBase" value="https://app.powerbigov.us" />
  • Katonai alvállalkozók (DoDCON):Military Contractors (DoDCON):
  1. Írja felül a Cloud.config fájlt a TBCloud.config tartalmával.Overwrite Cloud.config file with TBCloud.config content.

  2. Frissítse az applicationId (natív alkalmazáshoz tartozó applicationId), a workspaceId, a felhasználó (a fő felhasználó) és a jelszó értékét a Web.config fájlban.Update applicationId (Native app applicationId), workspaceId, the user (your master user), and password in Web.config file.

  3. Az alábbiaknak megfelelően adja hozzá a DoDCON-paramétereket a web.config fájlhoz.Add the DoDCON parameters in the web.config file as follows.

<add key="authorityUrl" value="https://login.microsoftonline.us/common/" />
<add key="resourceUrl" value="https://high.analysis.usgovcloudapi.net/powerbi/api" />
<add key="apiUrl" value="https://api.high.powerbigov.us/" />
<add key="embedUrlBase" value="https://app.high.powerbigov.us" />
  • Katonaság (DoD):Military (DoD):
  1. Írja felül a Cloud.config fájlt a PFCloud.config tartalmával.Overwrite Cloud.config file with PFCloud.config content.

  2. Frissítse az applicationId (natív alkalmazáshoz tartozó applicationId), a workspaceId, a felhasználó (a fő felhasználó) és a jelszó értékét a Web.config fájlban.Update applicationId (Native app applicationId), workspaceId, the user (your master user), and password in Web.config file.

  3. Az alábbiaknak megfelelően adja hozzá a DoDCON-paramétereket a web.config fájlhoz.Add the DoDCON parameters in the web.config file as follows.

<add key="authorityUrl" value="https://login.microsoftonline.us/common/" />
<add key="resourceUrl" value="https://mil.analysis.usgovcloudapi.net/powerbi/api" />
<add key="apiUrl" value="https://api.mil.powerbigov.us/" />
<add key="embedUrlBase" value="https://app.mil.powerbigov.us" />
  • A németországi felhőhöz készült Power BI paramétereiPower BI for Germany cloud parameters
  1. Írja felül a Cloud.config fájlt a németországi felhőhöz készült Power BI tartalmával.Overwrite Cloud.config file with Power BI for Germany cloud content.

  2. Frissítse az applicationId (natív alkalmazáshoz tartozó applicationId), a workspaceId, a felhasználó (a fő felhasználó) és a jelszó értékét a Web.config fájlban.Update applicationId (Native app applicationId), workspaceId, the user (your master user), and password in Web.config file.

  3. Az alábbiaknak megfelelően adja hozzá a németországi felhőhöz készült Power BI paramétereit a web.config fájlhoz.Add the Power BI for Germany cloud parameters in the web.config file as follows.

<add key="authorityUrl" value="https://login.microsoftonline.de/common/" />
<add key="resourceUrl" value="https://analysis.cloudapi.de/powerbi/api" />
<add key="apiUrl" value="https://api.powerbi.de/" />
<add key="embedUrlBase" value="https://app.powerbi.de" />
  • A kínai felhőhöz készült Power BI paramétereiPower BI for China cloud parameters
  1. Írja felül a Cloud.config fájlt a kínai felhőhöz készült Power BI tartalmával.Overwrite Cloud.config file with Power BI for China cloud content.

  2. Frissítse az applicationId (natív alkalmazáshoz tartozó applicationId), a workspaceId, a felhasználó (a fő felhasználó) és a jelszó értékét a Web.config fájlban.Update applicationId (Native app applicationId), workspaceId, the user (your master user), and password in Web.config file.

  3. Az alábbiaknak megfelelően adja hozzá a kínai felhőhöz készült Power BI paramétereit a web.config fájlhoz.Add the Power BI for China cloud parameters in the web.config file as follows.

<add key="authorityUrl" value="https://login.chinacloudapi.cn/common/" />
<add key="resourceUrl" value="https://analysis.chinacloudapi.cn/powerbi/api" />
<add key="apiUrl" value="https://api.powerbi.cn/" />
<add key="embedUrlBase" value="https://app.powerbi.cn" />

1. lépés – alkalmazás regisztrálása az Azure AD-benStep 1 - register an app in Azure AD

A REST API-hívások indításához az alkalmazásokat regisztrálja az Azure AD-ben.Register your application with Azure AD to make REST API calls. További információt az Azure AD alkalmazás regisztrálása Power BI-tartalmak beágyazásához eljárást ismertető cikkben talál.For more information, see Register an Azure AD app to embed Power BI content. Mivel különböző országos felhőszolgáltatások léteznek, különböző URL-címek használatával regisztrálhatja alkalmazását.Since there are different national cloud affiliations, there are distinct URLs to register your application.

  • Kormányzati közösségi felhő (GCC) – https://app.powerbigov.us/appsGovernment Community Cloud (GCC) - https://app.powerbigov.us/apps

  • Katonai alvállalkozók (DoDCON) – https://app.high.powerbigov.us/appsMilitary Contractors (DoDCON) - https://app.high.powerbigov.us/apps

  • Katonaság (DoD) – https://app.mil.powerbigov.us/appsMilitary (DoD) - https://app.mil.powerbigov.us/apps

  • A németországi felhőhöz készült Power BI – https://app.powerbi.de/appsPower BI for Germany cloud - https://app.powerbi.de/apps

  • A kínai felhőhöz készült Power BI – https://app.powerbi.cn/appsPower BI for China cloud - https://app.powerbi.cn/apps

Ha letöltötte az ügyfelek számára végzett beágyazási mintát, használja a kapott applicationId azonosítót, hogy a minta hitelesítést végezhessen az Azure AD-ben.If you downloaded the Embedding for your customer sample, you would use the applicationId you get, so that the sample can authenticate to Azure AD. A minta konfigurálásához módosítsa az applicationId azonosítót a web.config fájlban.To configure the sample, change the applicationId in the web.config file.

2. lépés – hozzáférési token lekérése az Azure AD-bőlStep 2 - get an access token from Azure AD

Az alkalmazásban egy hozzáférési tokent kell beszereznie az Azure AD-ből, mielőtt hívásokat indíthatna a Power BI REST API-hoz.Within your application, you need to get an access token, from Azure AD, before you can make calls to the Power BI REST API. További információkért lásd a felhasználók hitelesítésével és a Power BI-alkalmazáshoz Azure AD hozzáférési token beszerzésével kapcsolatos cikket.For more information, see Authenticate users and get an Azure AD access token for your Power BI app. Mivel különböző országos felhőszolgáltatások léteznek, különböző URL-címek használatával szerezheti be az alkalmazása hozzáférési jogkivonatát.Since there are different national cloud affiliations, there are distinct URLs to get an access token for your application.

  • Kormányzati közösségi felhő (GCC) – https://login.microsoftonline.comGovernment Community Cloud (GCC) - https://login.microsoftonline.com

  • Katonai alvállalkozók (DoDCON) – https://login.microsoftonline.usMilitary Contractors (DoDCON) - https://login.microsoftonline.us

  • Katonaság (DoD) – https://login.microsoftonline.usMilitary (DoD) - https://login.microsoftonline.us

  • A németországi felhőhöz készült Power BI – https://login.microsoftonline.dePower BI for Germany cloud - https://login.microsoftonline.de

  • A kínai felhőhöz készült Power BI – https://login.chinacloudapi.cnPower BI for China cloud - https://login.chinacloudapi.cn

A Controllers\HomeController.cs fájlban lévő tartalomelem-feladatokban láthat példát ezekre a hozzáférési jogkivonatokra.You can see examples of these access tokens within each content item task in the Controllers\HomeController.cs file.

3. lépés – tartalomelem lekéréseStep 3 - get a content item

A Power BI-tartalom beágyazásához el kell végeznie néhány dolgot a megfelelő beágyazás biztosítása érdekében.To embed your Power BI content, you need to do a couple of things to make sure it embeds correctly. Bár ezen lépések mindegyike elvégezhető közvetlenül a REST API-val, a mintaalkalmazás és az itt szereplő példák a .NET SDK-t használják.While all of these steps can be done with the REST API directly, the sample application and the examples here use the .NET SDK.

A Power BI-ügyfél létrehozása a hozzáférési tokennelCreate the Power BI Client with your access token

A hozzáférési jogkivonattal érdemes létrehozni a Power BI-ügyfélobjektumot, amely lehetővé teszi a Power BI API-k használatát.With your access token, you want to create your Power BI client object, which allows you to interact with the Power BI APIs. A Power BI-ügyfél létrehozásához az AccessToken hozzáférési jogkivonatot a Microsoft.Rest.TokenCredentials objektummal kell becsomagolni.You create your 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. This is used to call the Power BI APIs.
using (var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials))
{
    // Your code to embed items.
}

A beágyazni kívánt tartalomelem lekéréseGet the content item you want to embed

A Power BI-ügyfélobjektummal kérje le a beágyazni kívánt elem hivatkozását.Use the Power BI client object to retrieve a reference to the item you want to embed. Irányítópultokat, csempéket vagy jelentéseket ágyazhat be.You can embed dashboards, tiles, or reports. Itt láthat arra példát, hogyan kérhető le az első irányítópult, csempe vagy jelentés egy adott munkaterületről.Here is an example of how to retrieve the first dashboard, tile, or report from a given workspace.

Egy példa elérhető az alkalmazás tulajdonában lévő adatok használatát ismertető mintában lévő Controllers\HomeController.cs fájlban.A sample is available within Controllers\HomeController.cs of the App Owns Data sample.

JelentésekReports

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

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

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

IrányítópultokDashboards

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

// You need to provide the workspaceId where the dashboard resides.
ODataResponseListDashboard dashboards = client.Dashboards.GetDashboardsInGroup(workspaceId);

// Get the first report in the group.
Dashboard dashboard = dashboards.Value.FirstOrDefault();

CsempékTiles

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

// To retrieve the tile, you first need to retrieve the dashboard.

// You need to provide the workspaceId where the dashboard resides.
ODataResponseListDashboard dashboards = client.Dashboards.GetDashboardsInGroup(workspaceId);

// Get the first report in the group.
Dashboard dashboard = dashboards.Value.FirstOrDefault();

// Get a list of tiles from a specific dashboard
ODataResponseListTile tiles = client.Dashboards.GetTilesInGroup(workspaceId, dashboard.Id);

// Get the first tile in the group.
Tile tile = tiles.Value.FirstOrDefault();

A beágyazási token létrehozásaCreate the embed token

A JavaScript API segítségével létrehozhat egy beágyazási tokent.Using the JavaScript API, you can generate an embed token. A beágyazási token a beágyazott elemre vonatkozik.The embed token is specific to the item you're embedding. Valahányszor Power BI-tartalmat ágyaz be, mindig létre kell hoznia egy új beágyazási tokent.Anytime you embed a piece of Power BI content, you need to create a new embed token for it. További információt (beleértve a használandó hozzáférési szintet) az Beágyazási Token című cikkben talál.For more information, including which accessLevel to use, see Embed Token.

Fontos

Mivel a beágyazási jogkivonatok csak fejlesztői tesztelésre szolgálnak, a Power BI-főfiókok által létrehozható beágyazási jogkivonatok száma korlátozott.Because embed tokens are intended for developer testing only, the number of embed tokens a Power BI master account can generate is limited. Beágyazási forgatókönyvek létrehozásához kapacitást kell vásárolni.A capacity must be purchased for production embedding scenarios. Ha vásárol kapacitást, semmi nem korlátozza a beágyazási jogkivonatok létrehozását.There is no limit to embed token generation when a capacity is purchased.

Egy példa elérhető a céges beágyazási mintában lévő Controllers\HomeController.cs fájlban.A sample is available within Controllers\HomeController.cs of the Embedding for your organization sample.

Létrejött egy osztály az EmbedConfig és a TileEmbedConfig elemekhez.A class is created for EmbedConfig and TileEmbedConfig. Egy példa elérhető a Models\EmbedConfig.cs és a Models\TileEmbedConfig.cs fájlban.A sample is available within Models\EmbedConfig.cs and Models\TileEmbedConfig.cs.

JelentésekReports

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

IrányítópultokDashboards

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

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

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

CsempékTiles

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

// Generate Embed Token for a tile.
var generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "view");
EmbedToken tokenResponse = client.Tiles.GenerateTokenInGroup(workspaceId, dashboard.Id, tile.Id, generateTokenRequestParameters);

// Generate Embed Configuration.
var embedConfig = new TileEmbedConfig()
{
    EmbedToken = tokenResponse,
    EmbedUrl = tile.EmbedUrl,
    Id = tile.Id,
    dashboardId = dashboard.Id
};

4. lépés – elem betöltése a JavaScript használatávalStep 4 - load an item using JavaScript

A JavaScript használatával egy irányítópultot tölthet be egy div elembe a weboldalon.You can use JavaScript to load a dashboard into a div element on your web page. A minta EmbedConfig/TileEmbedConfig modellt használ egy irányítópult, csempe vagy jelentés nézeteivel együtt.The sample uses an EmbedConfig/TileEmbedConfig model along with views for a dashboard, tile, or report. A JavaScript API használatának teljes mintájáért használhatja a Microsoft Power BI Embedded mintát.For a full sample of using the JavaScript API, you can use the Microsoft Power BI Embedded Sample.

Egy alkalmazásminta a céges beágyazási mintában érhető el.An application sample is available within the Embedding for your organization sample.

Views\Home\EmbedDashboard.cshtmlViews\Home\EmbedDashboard.cshtml

<script src="~/scripts/powerbi.js"></script>
<div id="dashboardContainer"></div>
<script>
    // Read embed application token from Model
    var accessToken = "@Model.EmbedToken.Token";

    // Read embed URL from Model
    var embedUrl = "@Html.Raw(Model.EmbedUrl)";

    // Read dashboard Id from Model
    var embedDashboardId = "@Model.Id";

    // Get models. models contains enums that can be used.
    var models = window['powerbi-client'].models;

    // Embed configuration used to describe the what and how to embed.
    // This object is used when calling powerbi.embed.
    // This also includes settings and options such as filters.
    // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details.
    var config = {
        type: 'dashboard',
        tokenType: models.TokenType.Embed,
        accessToken: accessToken,
        embedUrl: embedUrl,
        id: embedDashboardId
    };

    // Get a reference to the embedded dashboard HTML element
    var dashboardContainer = $('#dashboardContainer')[0];

    // Embed the dashboard and display it within the div container.
    var dashboard = powerbi.embed(dashboardContainer, config);
</script>

Views\Home\EmbedTile.cshtmlViews\Home\EmbedTile.cshtml

<script src="~/scripts/powerbi.js"></script>
<div id="tileContainer"></div>
<script>
    // Read embed application token from Model
    var accessToken = "@Model.EmbedToken.Token";

    // Read embed URL from Model
    var embedUrl = "@Html.Raw(Model.EmbedUrl)";

    // Read tile Id from Model
    var embedTileId = "@Model.Id";

    // Read dashboard Id from Model
    var embedDashboardId = "@Model.dashboardId";

    // Get models. models contains enums that can be used.
    var models = window['powerbi-client'].models;

    // Embed configuration used to describe the what and how to embed.
    // This object is used when calling powerbi.embed.
    // This also includes settings and options such as filters.
    // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details.
    var config = {
        type: 'tile',
        tokenType: models.TokenType.Embed,
        accessToken: accessToken,
        embedUrl: embedUrl,
        id: embedTileId,
        dashboardId: embedDashboardId
    };

    // Get a reference to the embedded tile HTML element
    var tileContainer = $('#tileContainer')[0];

    // Embed the tile and display it within the div container.
    var tile = powerbi.embed(tileContainer, config);
</script>

Views\Home\EmbedReport.cshtmlViews\Home\EmbedReport.cshtml

<script src="~/scripts/powerbi.js"></script>
<div id="reportContainer"></div>
<script>
    // Read embed application token from Model
    var accessToken = "@Model.EmbedToken.Token";

    // Read embed URL from Model
    var embedUrl = "@Html.Raw(Model.EmbedUrl)";

    // Read report Id from Model
    var embedReportId = "@Model.Id";

    // Get models. models contains enums that can be used.
    var models = window['powerbi-client'].models;

    // Embed configuration used to describe the what and how to embed.
    // This object is used when calling powerbi.embed.
    // This also includes settings and options such as filters.
    // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details.
    var config = {
        type: 'report',
        tokenType: models.TokenType.Embed,
        accessToken: accessToken,
        embedUrl: embedUrl,
        id: embedReportId,
        permissions: models.Permissions.All,
        settings: {
            filterPaneEnabled: true,
            navContentPaneEnabled: true
        }
    };

    // Get a reference to the embedded report HTML element
    var reportContainer = $('#reportContainer')[0];

    // Embed the report and display it within the div container.
    var report = powerbi.embed(reportContainer, config);
</script>

További lépésekNext steps

Megfontolandó szempontok és korlátozásokConsiderations and limitations

További kérdései vannak?More questions? Kérdezze meg a Power BI közösségétTry asking the Power BI Community