Pikakäynnistys Microsoft Fabric Embediin

Tässä Pikakäynnistyksessä käytät Fabric Embediä lisätäksesi Microsoft Fabric Real-Time Dashboardin selainpohjaiseen JavaScript- tai TypeScript-verkkosovellukseen. Fabric Embedin avulla sovelluksesi voi näyttää hallintapaneelin, kun käyttäjät käyttävät sitä Microsoft Entra ID -identiteettinsä ja delegoitujen käyttöoikeuksien avulla.

Sovellus käyttää Microsoft Authentication Library for JavaScript (MSAL.js) pyytääkseen delegoitua pääsytunnusta Microsoft Fabric API-resurssille ja Fabric Embed SDK:ta dashboardin renderöintiin. Kun lopetat, sovelluksesi näyttää Real-Time Dashboardin ilman, että käyttäjiä ohjataan Fabric-portaaliin.

Edellytykset Real-Time Dashboardin upottamiselle

Ennen kuin aloitat, suorita Aseta ympäristösi Microsoft Fabric Embedille. Tämä asetus luo tai vahvistaa Microsoft Entra -sovelluksen rekisteröinnin, delegoidut käyttöoikeudet, Microsoft Fabric -työtilan, aktiivisen Fabric-kapasiteetin ja dashboard-arvot, joita tämä pikakäynnistys käyttää.

Tarvitset myös seuraavat arvot ja käyttöoikeudet.

Vaatimus Description
Web-sovellusprojekti Selainpohjainen JavaScript- tai TypeScript-sovellus, joka käyttää npm:ää. Tämän pikakäynnistyksen upotuskoodi ajaa asiakaspuolella.
Microsoft Entra app registration client ID Sovelluksen rekisteröinnin asiakas-ID, joka kirjautuu käyttäjät sisään MSAL.js.
Microsoft Entra tenant ID Vuokralaisen tunnus, johon sovelluksen rekisteröinti ja Fabric-käyttäjät on määritetty.
Delegoidut API-oikeudet Delegoitu suostumus ja Fabric.EmbedItem.Read.All. MSAL-token-pyyntö käyttää Fabric-laajuutta .default pyytääkseen näitä suostutettuja oikeuksia.
Työtilan tunnus Microsoft Fabric työtilan ID, joka sisältää Real-Time Dashboardin ja on määritetty aktiiviselle Fabric kapasiteetille.
Real-Time Dashboard item ID Microsoft Fabric kohteen ID Real-Time hallintapaneelille, jonka haluat upottaa.
Käyttäjän pääsy Kirjautunut käyttäjä voi avata Real-Time Dashboardin Fabric. Upotettu hallintapaneeli käyttää kyseisen käyttäjän delegoituja käyttöoikeuksia.

Huomautus

Microsoft Fabric Embed on julkisessa esikatselussa. Tuetut tuotetyypit ja todennusrajoitukset löytyvät kohdasta Rajoitukset Microsoft Fabric Embedille.

Asenna MSAL.js ja Fabric embed SDK

Asenna web-sovelluksen projektikansiosta asiakaspuolen paketit, joita tämä pikakäynnistys käyttää.

npm install @azure/msal-browser @microsoft/fabric-embed

Jos esikatseluohjeet sisältävät versiokohtaisen Fabric Embed SDK -paketin komennon, käytä tätä komentoa paketille@microsoft/fabric-embed. Asennuksen jälkeen varmista, että package.json listat @azure/msal-browser ja @microsoft/fabric-embed .dependencies

Määritä Microsoft Entra -todennus Microsoft Fabric Embedille

MSAL.js (@azure/msal-browser) kirjautuu käyttäjän sisään ja saa delegoidun käyttöoikeustunnuksen Microsoftin käyttäjätietoympäristö:ltä .https://api.fabric.microsoft.com Scope .default pyytää Microsoft Entra ID:ltä delegoituja Fabric-käyttöoikeuksia, joihin olet jo suostunut sovelluksen rekisteröintiin, mukaan lukien Fabric.Embed ja Item.Read.All.

Lisätietoja löytyy Microsoft Authentication Library (MSAL) -yleiskatsauksesta.

Lisää tämä koodi sovelluksesi asiakaspuolen todennustiedostoon tai moduuliin ennen kuin upotuskoodi kutsuu getAccessToken().

import {
  AuthenticationResult,
  InteractionRequiredAuthError,
  PublicClientApplication,
} from "@azure/msal-browser";

const msal = new PublicClientApplication({
  auth: {
    clientId: "<client-id>",
    authority: "https://login.microsoftonline.com/<tenant-id>",
    redirectUri: window.location.origin,
  },
});

const defaultScopes = ["https://api.fabric.microsoft.com/.default"];

async function getAccessToken(requestedScopes?: string[]): Promise<string> {
  const scopes = requestedScopes ?? defaultScopes;
  let accounts = msal.getAllAccounts();

  if (accounts.length === 0) {
    await msal.loginPopup({ scopes });
    accounts = msal.getAllAccounts();
  }

  const account = accounts[0];
  if (!account) {
    throw new Error("No Microsoft Entra account is signed in.");
  }

  let result: AuthenticationResult;

  try {
    result = await msal.acquireTokenSilent({ scopes, account });
  } catch (error) {
    if (error instanceof InteractionRequiredAuthError) {
      result = await msal.acquireTokenPopup({ scopes, account });
    } else {
      throw error;
    }
  }

  return result.accessToken;
}

Korvaa <client-id> ja <tenant-id>, mukaan lukien kulmasulkeet, Microsoft Entra -sovelluksen rekisteröinnin arvoilla. Funktio getAccessToken() palauttaa delegoidun Microsoft Fabric access -tunnisteen kirjautuneelle Microsoft Entra-käyttäjälle tai antaa virheen, jos kukaan käyttäjä ei ole kirjautunut sisään.

Lisää HTML-kontti upotetulle Real-Time Dashboardille

Lisää HTML-elementti, johon Fabric Embed SDK renderöi Microsoft Fabric Real-Time Dashboardin. Arvon id on vastattava upotuskoodin konttihakua. Ja rolearia-label tunnista upotetun kojelaudan alue ruudunlukijakäyttäjille.

<div
  id="fabric-embed-container"
  role="region"
  aria-label="Embedded Fabric Real-Time Dashboard"
></div>

Määritä pääsytunnuspalveluntarjoaja Fabric embed SDK -tokenin päivitystä varten

Määritä pääsytunnusen tarjoaja, jota Fabric Embed SDK käyttää delegoitujen Microsoft Fabric pääsytunnusten päivittämiseen upotetulle Real-Time Dashboardille. Seuraava esimerkki toteutetaan accessTokenProvider käyttämällä funktiota getAccessToken() .

const accessTokenProvider = {
  callback: async (input?: { scopes?: string[] }) => {
    const token = await getAccessToken(input?.scopes);
    return { token };
  },
};

Upota Real-Time Dashboard Fabric embed SDK:n kanssa

Käytä Fabric Embed SDK:ta renderöidäksesi Microsoft Fabric Real-Time Dashboardin HTML-kontissa. Tämän esimerkin julkisen esikatselun SDK-tyypit käyttävät KQLDashboard* nimiä Real-Time Dashboardin upotukseen.

Embed-konfiguraatio käyttää näitä arvoja.

Konfiguraatiokenttä Arvo
itemId Real-Time Dashboardin kohde-ID:n esivaatimuksista.
workspaceId Microsoft Fabric workspace ID esiedellytyksistä.
accessToken Delegoitu Microsoft Fabric access token palautettiin .getAccessToken()
accessTokenProvider Callback, joka päivittää delegoidut tokenit upotetulle kojelaudalle.
viewMode KQLDashboardViewMode.View, joka renderöi kojelaudan katselua varten.
import {
  EmbedManager,
  KQLDashboardEmbedClient,
  KQLDashboardViewMode,
  KQLDashboardEmbedConfiguration,
} from "@microsoft/fabric-embed";

const embedManager = new EmbedManager({
  embedClientClasses: [KQLDashboardEmbedClient],
});

async function embedDashboard() {
  const container = document.getElementById("fabric-embed-container");

  if (!container) {
    throw new Error("The Fabric embed container was not found.");
  }

  const token = await getAccessToken();

  const embedConfig: KQLDashboardEmbedConfiguration = {
    accessToken: { token },
    itemId: "<real-time-dashboard-item-id>",
    itemType: "KQLDashboard",
    workspaceId: "<workspace-id>",
    viewMode: KQLDashboardViewMode.View,
    eventHooks: { accessTokenProvider },
  };

  const client: KQLDashboardEmbedClient = embedManager.embed(container, embedConfig);

  client.on("rendered", () => {
    console.log("Real-Time Dashboard rendered.");
  });

  client.on("error", (error: unknown) => {
    console.error("Microsoft Fabric Embed error:", error);
  });
}

embedDashboard();

Korvaa <real-time-dashboard-item-id> ja <workspace-id>, mukaan lukien kulmakiinnikkeet, Fabric-esineesi ja työtilan tunnisteilla.

Kun koodi käynnistyy, SDK renderöi Real-Time Dashboardin kontissa ja kirjoittaa Real-Time Dashboard rendered. selaimen konsoliin.

Tärkeää

Tämän artikkelin SDK-tyyppinimet käyttävät julkisen esikatselun terminologiaa. Jos asennettu esikatselupakettisi käyttää eri tyyppinimiä, käytä kyseisen pakettiversion nimiä. Muita esikatselusopimusvarauksia varten katso Rajoitukset Microsoft Fabric Embedille.

Vahvista Microsoft Fabric Embed Real-Time Dashboard

SDK upottaa hallintapaneelin onnistuneesti, kun se ilmestyy alueelle fabric-embed-container ja selainkonsoli kirjaa Real-Time Dashboard rendered..

Jos hallintapaneeli ei renderöidy, käytä SDK-tapahtumatietoja error ja tarkista nämä kohteet.

Tarkista Mitä kannattaa varmistaa
Käyttäjän pääsy Kirjautunut Microsoft Entra voi avata Real-Time Dashboardin Fabric.
Kapasiteetti Real-Time Dashboardin sisältävä työtila on määritetty aktiiviseen Fabric-kapasiteettiin.
Ohjaa URI uudelleen Microsoft Entra -sovelluksen rekisteröinti sisältää verkkosovelluksesi uudelleenohjaus-URIN.
Delegoidut luvat Sovelluksen rekisteröinnissä on delegoitu suostumus ja Fabric.EmbedItem.Read.All(tai KQLDashboard.Read.All), ja token-pyyntö käyttää Fabric-scopea.default.
Tunnisteet Työtilan ID ja Real-Time Dashboardin kohde-ID vastaavat Fabric sisältöä, jonka haluat upottaa.
HTML-kontti Elementti fabric-embed-container on olemassa, sillä on saavutettava nimi ja se on edelleen tavoitettavissa näppäimistöllä sovelluksesi asettelussa.
SDK-virheiden käsittely Sovelluksesi hoitaa Fabric Embed SDK error -tapahtuman ja kirjaa virhetiedot.

Seuraavat vaiheet