Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
I denne Quickstart bruker du Fabric Embed for å legge til et Microsoft Fabric Real-Time dashbord i en nettleserbasert JavaScript- eller TypeScript-webapp. Ved å bruke Fabric Embed kan appen din vise dashbordet mens brukerne bruker det ved å bruke sin Microsoft Entra ID-identitet og delegerte tillatelser.
Appen bruker Microsoft Authentication Library for JavaScript (MSAL.js) for å be om en delegert tilgangstoken for Microsoft Fabric API-ressursen, og Fabric Embed SDK for å gjengi dashbordet. Når du er ferdig, viser appen Real-Time Dashboard uten å sende brukere til Fabric-portalen.
Forutsetninger for å bygge inn et Real-Time Dashboard
Før du begynner, fullfør oppsettet ditt miljø for Microsoft Fabric Embed. Dette oppsettet oppretter eller bekrefter Microsoft Entra-appregistrering, delegerte tillatelser, Microsoft Fabric-arbeidsområde, aktiv Fabric-kapasitet og dashbordverdier som denne quickstart bruker.
Du trenger også følgende verdier og tillatelser.
| Forutsetninger | Beskrivelse |
|---|---|
| Webapp-prosjekt | En nettleserbasert JavaScript- eller TypeScript-app som bruker npm. Innebygd kode i denne hurtigstarten kjører klientsiden. |
| Microsoft Entra app registration client ID | Klient-ID-en for app-registreringen som logger inn brukere ved å bruke MSAL.js. |
| Microsoft Entra tenant ID | Leietaker-ID-en hvor app-registrering og Fabric-brukere er konfigurert. |
| Delegerte API-tillatelser | Delegert samtykke for Fabric.Embed og Item.Read.All. MSAL-tokenforespørselen bruker Fabric-omfanget .default for å be om disse samtykkede tillatelsene. |
| Arbeidsområde-ID | Den Microsoft Fabric arbeidsplass-ID-en som inneholder Real-Time Dashboard og er tildelt en aktiv Fabric kapasitet. |
| Real-Time Dashboard-element-ID | Den Microsoft Fabric vare-ID-en for det Real-Time dashbordet du ønsker å legge inn. |
| Brukertilgang | Den innloggede brukeren kan åpne Real-Time Dashboard i Fabric. Det innebygde dashbordet bruker brukerens delegerte tillatelser. |
Note
Microsoft Fabric Embed er i offentlig forhåndsvisning. For støttede varetyper og autentiseringsbegrensninger, se Begrensninger for Microsoft Fabric Embed.
Installer MSAL.js og Fabric Embed SDK
Fra din webapp-prosjektmappe installerer du klientsidepakkene som denne quickstarten bruker.
npm install @azure/msal-browser @microsoft/fabric-embed
Hvis forhåndsvisningsinstruksjonene dine inneholder en versjonsspesifikk Fabric Embed SDK-pakkekommando, bruk den kommandoen for @microsoft/fabric-embed pakken. Etter installasjon, bekreft at package.json listet @azure/msal-browser og @microsoft/fabric-embed i dependencies.
Konfigurer Microsoft Entra-autentisering for Microsoft Fabric Embed
MSAL.js (@azure/msal-browser) logger inn brukeren og får en delegert tilgangstoken fra Microsofts identitetsplattform for https://api.fabric.microsoft.com. Omfanget .default ber Microsoft Entra ID om delegerte Fabric-tillatelser som du allerede har samtykket til for appregistreringen, inkludert Fabric.Embed og Item.Read.All.
For mer informasjon, se oversikten over Microsoft Authentication Library (MSAL).
Legg til denne koden i appens klientside-autentiseringsfil eller modul før innbyggingskodekallene 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;
}
Erstatt <client-id> og <tenant-id>, inkludert vinkelparentesene, med verdiene fra Microsoft Entra-appens registrering. Funksjonen getAccessToken() returnerer et delegert Microsoft Fabric-tilgangstoken for den innloggede Microsoft Entra-brukeren eller gir en feil hvis ingen bruker har logget inn.
Legg til en HTML-container for det innebygde Real-Time-dashbordet
Legg til et HTML-element der Fabric Embed SDK gjengir det Microsoft Fabric Real-Time dashbordet. Verdien id må samsvare med containeroppslaget i embed-koden. Og rolearia-label identifiser det innebygde dashbordområdet for skjermleserbrukere.
<div
id="fabric-embed-container"
role="region"
aria-label="Embedded Fabric Real-Time Dashboard"
></div>
Konfigurer en tilgangstoken-leverandør for Fabric embed SDK-tokenoppdatering
Konfigurer tilgangstoken-leverandøren som Fabric Embed SDK bruker for å oppdatere delegerte Microsoft Fabric tilgangstokens for det innebygde Real-Time-dashbordet. Følgende eksempel implementerer accessTokenProvider ved å bruke funksjonen getAccessToken() .
const accessTokenProvider = {
callback: async (input?: { scopes?: string[] }) => {
const token = await getAccessToken(input?.scopes);
return { token };
},
};
Embed Real-Time Dashboard med Fabric embed SDK
Bruk Fabric Embed SDK for å gjengi Microsoft Fabric Real-Time-dashbordet i HTML-containeren. SDK-typene for offentlig forhåndsvisning i dette eksempelet bruker KQLDashboard* navn for Real-Time Dashboard-innbedding.
Embed-konfigurasjonen bruker disse verdiene.
| Konfigurasjonsfelt | Verdi |
|---|---|
itemId |
Den Real-Time Dashboard-item-ID fra forutsetningene. |
workspaceId |
Microsoft Fabric arbeidsområde-ID fra forutsetningene. |
accessToken |
Den delegerte Microsoft Fabric-tilgangstoken returnerte av getAccessToken(). |
accessTokenProvider |
Callbacken som oppdaterer delegerte tokens for det innebygde dashbordet. |
viewMode |
KQLDashboardViewMode.View, som gjengir dashbordet for visning. |
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();
Bytt <real-time-dashboard-item-id> ut og <workspace-id>, inkludert vinkelbrakettene, med dine Fabric item og arbeidsplass-ID-er.
Når koden kjøres, gjengir SDK-en Real-Time-dashbordet i containeren og skriver Real-Time Dashboard rendered. til nettleserkonsollen.
Viktig
SDK-typenavnene i denne artikkelen bruker offentlig forhåndsvisningsterminologi. Hvis din installerte forhåndsvisningspakke bruker forskjellige typenavn, bruk navnene fra den pakkeversjonen. For andre forbehold om forhåndsvisningskontrakter, se Begrensninger for Microsoft Fabric Embed.
Verifiser Microsoft Fabric Embed Real-Time dashbordet
SDK-en legger inn dashbordet på en vellykket måte når det vises i fabric-embed-container regionen og nettleserkonsollen logger Real-Time Dashboard rendered..
Hvis dashbordet ikke gjengår, bruk SDK-hendelsesdetaljene error og sjekk disse elementene.
| Sjekk | Hva bør du verifisere |
|---|---|
| Brukertilgang | Den innloggede Microsoft Entra brukeren kan åpne Real-Time Dashboard i Fabric. |
| Kapasitet | Arbeidsområdet som inneholder Real-Time-dashbordet er tildelt en aktiv Fabric kapasitet. |
| Omdiriger URI | Microsoft Entra-appens registrering inkluderer omdirigerings-URI-en for nettappen din. |
| Delegerte tillatelser | App-registreringen har delegert samtykke til Fabric.Embed og (eller KQLDashboard.Read.All), og tokenforespørselen bruker Fabric-scope .defaultItem.Read.All. |
| Identifikatorer | Workspace-ID-en og Real-Time Dashboard-item-ID-en samsvarer med det Fabric innholdet du ønsker å legge inn. |
| HTML-beholder | Elementet fabric-embed-container eksisterer, har et tilgjengelig navn, og er tilgjengelig via tastatur i appoppsettet ditt. |
| SDK-feilhåndtering | Appen din håndterer Fabric Embed SDK-hendelsen error og logger feildetaljene. |