Freigeben über


Verwenden von Bootstrap für eine bessere Leistung

powerbi.bootstrap ist eine Methode, die in Client SDK Version 2.9.0 eingeführt wurde, um Entwicklern zu helfen, Power BI-Entitäten schneller einzubetten und eine bessere Leistung zu erzielen.

Das Einbetten eines Berichts mithilfe von powerbi.embed erfordert mehrere Parameter, z. B. reportId, embedURLund accessToken. Diese Parameter sind nicht immer sofort verfügbar.

mit powerbi.bootstrap können Sie mit der Einbettung beginnen, bevor alle erforderlichen Parameter verfügbar sind. Die Bootstrap-API bereitet den iframe vor und initialisiert sie.

Nachdem die erforderlichen Parameter empfangen wurden, sollte powerbi.embed(element, config) für dasselbe HTML-Element aufgerufen werden.

Bootstrap-API

Die powerbi.bootstrap(element, config)-Methode empfängt ein Element und eine Konfiguration, die mit powerbi.embed(...)identisch ist.

/**
    * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding.
    *
    * @param {HTMLElement} an HTML Element where you need to embed. must be the same div element you will use in powerbi.embed.
    * @param {IBootstrapEmbedConfiguration} config: a bootstrap config.
    */
bootstrap(element: HTMLElement, config: IBootstrapEmbedConfiguration): embed.Embed;

Bootstrap-Einbettungskonfiguration

interface IBootstrapEmbedConfiguration {
  type: string;
  hostname?: string;
  embedUrl?: string;
  settings?: ISettings;
}

Konfigurationsparameter:

  • Typ (erforderlich): Der Typ der Entität, die Sie einbetten möchten, z. B. "Bericht", "Dashboard", "Kachel", "qna" oder "visual".
  • Hostname: Wenn Sie noch keine embedURL haben, können Sie einen Hostnamen angeben. Der Hostname ist der Domänenname der Einbettungs-URL. Wenn die Einbettungs-URL beispielsweise "https://app.powerbi.com/reportEmbed" lautet, lautet der Hostname "https://app.powerbi.com/". Wenn kein Hostname oder embedUrl angegeben wird, wird der Standardhostname, https://app.powerbi.com/, verwendet.
  • embedUrl-: Die gleiche Einbettungs-URL, die Sie später für powerbi.embed bereitstellen. Wenn kein Hostname oder embedUrl angegeben wird, wird der Standardhostname, https://app.powerbi.com/, verwendet.
  • Einstellungen: Um den Bericht in ein mobiles Layout einzubetten oder ein Gebietsschema (Sprache) bereitzustellen, schließen Sie diese Parameter in die Anfangseinstellungen ein.

Bootstrap-Beispiele

Die folgenden Beispiele enthalten einen Verweis auf die Bootstrap-Methode beim Einbetten von Power BI-Entitäten.

Anmerkung

Stellen Sie sicher, dass Sie powerbi.embed aufrufen, nachdem sie die Einbettungsparameter erhalten haben.

So bootstrap zum Einbetten eines Berichts:

powerbi.bootstrap(
        reportContainerDivElement,
        {
            type: 'report',
        }
    );

So bootstrap zum Einbetten eines Dashboards:

powerbi.bootstrap(
        reportContainerDivElement,
        {
            type: 'dashboard',
            embedUrl: "https://app.powerbi.com/dashboardEmbed?dashboardId=06e3ba63-47ea-4579-b010-fdb5484b325a&config=eyJjbHVzdGVyVXJsIjoiaHR0cHM6mLndpbmRvd3MubmV0In0="
        }
    );

So bootstrap zum Einbetten eines Berichts nur mit dem Hostnamen:

powerbi.bootstrap(
        reportContainerDivElement,
        {
            type: 'report',
            hostname: "https://app.powerbi.com"
        }
    );

So starten Sie den Bootstrap zum Einbetten eines Berichts mit einem mobilen Layout:

powerbi.bootstrap(
        reportContainerDivElement,
        {
            type: 'report',
            hostname: "https://app.powerbi.com",
            settings: {
	            layoutType: models.LayoutType.MobilePortrait
            }
        }
    );

Überlegungen und Einschränkungen

  • Die folgenden bootstrapped-Entitäten können nicht geändert werden, ohne powerbi.reset(element)aufzurufen.

    • Komponententyp (Bericht, Dashboard): Wenn Sie beispielsweise einen Bericht bootstrapieren, können Sie Nur Berichte in dasselbe HTML-Element einbetten.
    • Layout (Desktop/Mobil)
    • Gebietsschema (Sprache)
  • Die powerbi.bootstrap-Methode wird beim Einbetten von paginierten Berichten nicht unterstützt.