Использование начальной загрузки для повышения производительности

powerbi.bootstrap — это метод, представленный в клиентском пакете SDK версии 2.9.0, чтобы помочь разработчикам быстрее внедрять сущности Power BI и повысить производительность.

Внедрение отчета с помощью powerbi.embed требует нескольких параметров, таких как reportId, embedURLи accessToken. Эти параметры не всегда доступны немедленно.

powerbi.bootstrap позволяет начать внедрение, прежде чем будут доступны все необходимые параметры. API начальной загрузки подготавливает и инициализирует iframe.

После получения необходимых параметров powerbi.embed(element, config) следует вызывать в одном и том же элементе HTML.

API начальной загрузки

Метод powerbi.bootstrap(element, config) получает элемент и конфигурацию, то же, что и 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;

Конфигурация внедрения начальной загрузки

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

Параметры конфигурации:

  • тип (обязательно): тип сущности, которую требуется внедрить, например "отчет", "панель мониторинга", "плитка", "qna" или "visual".
  • имя узла: если у вас еще нет embedURL, можно указать имя узла. Имя узла — это доменное имя URL-адреса внедрения. Например, если URL-адрес внедрения имеет значение "https://app.powerbi.com/reportEmbed", имя узла — "https://app.powerbi.com/". Если имя узла или embedUrl не указано, используется имя узла по умолчанию https://app.powerbi.com/.
  • embedUrl: тот же URL-адрес внедрения, который вы предоставите позже powerbi.embed. Если имя узла или embedUrl не указано, используется имя узла по умолчанию https://app.powerbi.com/.
  • параметры. Чтобы внедрить отчет в мобильный макет или предоставить языковой стандарт (язык), включите эти параметры в начальные параметры.

Примеры начальной загрузки

В следующих примерах приведена ссылка на метод начальной загрузки при внедрении сущностей Power BI.

Заметка

Убедитесь, что вы вызываете powerbi.embed после получения параметров внедрения.

Чтобы выполнить начальную загрузку для внедрения отчета, выполните приведенные далее действия.

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

Чтобы выполнить начальную загрузку для внедрения панели мониторинга, выполните приведенные действия.

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

Чтобы выполнить начальную загрузку для внедрения отчета только с именем узла:

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

Чтобы выполнить начальную загрузку для внедрения отчета с помощью макета мобильных устройств:

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

Рекомендации и ограничения

  • Следующие загрузочные сущности нельзя изменить без вызова powerbi.reset(element).

    • Тип компонента (отчет, панель мониторинга): например, при загрузке отчета можно внедрять только отчеты в один и тот же HTML-элемент.
    • Макет (настольный или мобильный)
    • Языковой стандарт (язык)
  • Метод powerbi.bootstrap не поддерживается при внедрении отчетов с разбивкой на страницы.