Usar bootstrap para melhorar o desempenho

powerbi.bootstrap é um método introduzido no SDK do Cliente versão 2.9.0 para ajudar os desenvolvedores a inserir entidades do Power BI mais rapidamente e obter melhor desempenho.

A inserção de um relatório usando powerbi.embed requer vários parâmetros, como reportId, embedURLe accessToken. Esses parâmetros nem sempre estão disponíveis imediatamente.

powerbi.bootstrap permite que você inicie a inserção antes que todos os parâmetros necessários estejam disponíveis. A API de inicialização prepara e inicializa o iframe.

Depois que os parâmetros necessários forem recebidos, powerbi.embed(element, config) deverá ser chamado no mesmo elemento HTML.

API de inicialização

O powerbi.bootstrap(element, config) método recebe um elemento e uma configuração, o mesmo que powerbi.embed(...).

/**
    * 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;

Configuração de inserção de inicialização

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

Parâmetros de configuração:

  • type (obrigatório): o tipo de entidade que você deseja inserir, como 'report', 'dashboard', 'tile', 'qna' ou 'visual'.
  • nome do host: se você ainda não tiver um embedURL , poderá fornecer um nome de host. O nome do host é o nome de domínio da URL de inserção. Por exemplo, se a URL de inserção for 'https://app.powerbi.com/reportEmbed' , o nome do host será 'https://app.powerbi.com/'. Se nenhum nome de host ou embedUrl for fornecido, o nome do host padrão, https://app.powerbi.com/, será usado.
  • embedUrl: a mesma URL de inserção que você fornecerá posteriormente ao powerbi.embed. Se nenhum nome de host ou embedUrl for fornecido, o nome do host padrão, https://app.powerbi.com/, será usado.
  • configurações: para inserir o relatório em um layout móvel ou fornecer uma localidade (idioma), inclua esses parâmetros nas configurações iniciais.

Exemplos de inicialização

Os exemplos a seguir fornecem uma referência para o método bootstrap ao inserir entidades do Power BI.

Observação

Certifique-se de chamar powerbi.embed depois de receber os parâmetros de inserção.

Para inicializar para inserir um relatório:

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

Para inicializar para inserir um dashboard:

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

Para inicializar para inserir um relatório somente com o nome do host:

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

Para inicializar para inserir um relatório com layout móvel:

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

Limitações

  • As entidades inicializada a seguir não podem ser alteradas sem chamar powerbi.reset(element).

    • Tipo de componente (relatório dashboard): por exemplo, se você inicializar um relatório, só poderá inserir relatórios no mesmo elemento HTML.
    • Layout (desktop/móvel)
    • Localidade (idioma)
  • Não há suporte para o método powerbi.bootstrap ao inserir relatórios paginados.

Próximas etapas