Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
I denne Quickstart bruger du Fabric Embed til at tilføje et Microsoft Fabric Real-Time Dashboard til en browserbaseret JavaScript- eller TypeScript-webapp. Ved at bruge Fabric Embed kan din app vise dashboardet, mens brugerne tilgår det, ved at bruge deres Microsoft Entra ID-identitet og delegerede tilladelser.
Appen bruger Microsoft Authentication Library for JavaScript (MSAL.js) til at anmode om en delegeret adgangstoken til Microsoft Fabric API-ressourcen og Fabric Embed SDK til at gengive dashboardet. Når du er færdig, viser din app Real-Time Dashboard uden at sende brugere til Fabric-portalen.
Forudsætninger for at indlejre et Real-Time Dashboard
Før du går i gang, skal du færdiggøre Opsætning af dit miljø til Microsoft Fabric Embed. Denne opsætning opretter eller bekræfter Microsoft Entra-appregistreringen, delegerede tilladelser, Microsoft Fabric-arbejdsområdet, aktiv Fabric-kapacitet og dashboardværdier, som denne quickstart bruger.
Du skal også bruge følgende værdier og tilladelser.
| Krav | Beskrivelse |
|---|---|
| Webapp-projekt | En browserbaseret JavaScript- eller TypeScript-app, der bruger npm. Indlejringskoden i denne quickstart kører på klientsiden. |
| Microsoft Entra app registreringsklient-ID | Klient-ID'et for app-registreringen, der logger brugere ind ved at bruge MSAL.js. |
| Microsoft Entra tenant ID | Lejer-ID'et, hvor app-registreringen og Fabric-brugerne er konfigureret. |
| Delegerede API-tilladelser | Delegeret samtykke til Fabric.Embed og Item.Read.All. MSAL-tokenanmodningen bruger Fabric-scope .default til at anmode om disse samtykkede tilladelser. |
| Arbejdsområde-id | Det Microsoft Fabric arbejdsområde-ID, der indeholder Real-Time Dashboard og er tildelt en aktiv Fabric kapacitet. |
| Real-Time Dashboard-item-ID | Det Microsoft Fabric item-ID for det Real-Time Dashboard, du vil indlejre. |
| Brugeradgang | Den indloggede bruger kan åbne Real-Time Dashboard i Fabric. Det indlejrede dashboard bruger brugerens delegerede tilladelser. |
Bemærk
Microsoft Fabric Embed er i offentlig forhåndsvisning. For understøttede varetyper og autentificeringsbegrænsninger, se Begrænsninger for Microsoft Fabric Embed.
Installer MSAL.js og Fabric embed SDK
Fra din webapp-projektmappe installerer du de klientside-pakker, som denne quickstart bruger.
npm install @azure/msal-browser @microsoft/fabric-embed
Hvis dine introduktionsinstruktioner til forhåndsvisning indeholder en versionsspecifik Fabric Embed SDK-pakkekommando, så brug den kommando til @microsoft/fabric-embed pakken. Efter installation, bekræft at package.json der står og @azure/msal-browser@microsoft/fabric-embed i dependencies.
Konfigurér Microsoft Entra-autentificering til Microsoft Fabric Embed
MSAL.js (@azure/msal-browser) logger brugeren ind og får en delegeret adgangstoken fra Microsoft-identitetsplatform for https://api.fabric.microsoft.com. Scopet .default beder Microsoft Entra ID om delegerede Fabric-tilladelser, som du allerede har givet samtykke til til app-registreringen, herunder Fabric.Embed og Item.Read.All.
For mere information, se oversigt over Microsoft Authentication Library (MSAL).
Tilføj denne kode til din apps klientside-autentificeringsfil eller modul før indlejringskodekaldene 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;
}
Erstat <client-id> og <tenant-id>, inklusive vinkelparenteserne, med værdierne fra din Microsoft Entra-appregistrering. Funktionen getAccessToken() returnerer et delegeret Microsoft Fabric-adgangstoken for den indloggede Microsoft Entra-bruger eller giver en fejl, hvis ingen bruger har logget ind.
Tilføj en HTML-container til det indlejrede Real-Time Dashboard
Tilføj et HTML-element, hvor Fabric Embed SDK gengiver det Microsoft Fabric Real-Time Dashboard. Værdien id skal matche containeropslaget i embed-koden. Og rolearia-label identificer det indlejrede dashboard-område for skærmlæserbrugere.
<div
id="fabric-embed-container"
role="region"
aria-label="Embedded Fabric Real-Time Dashboard"
></div>
Konfigurér en adgangstoken-udbyder til Fabric embed SDK tokenopdatering
Konfigurér den adgangstoken-udbyder, som Fabric Embed SDK bruger til at opdatere delegerede Microsoft Fabric adgangstoks til det indlejrede Real-Time Dashboard. Følgende eksempel implementeres accessTokenProvider ved at bruge funktionen getAccessToken() .
const accessTokenProvider = {
callback: async (input?: { scopes?: string[] }) => {
const token = await getAccessToken(input?.scopes);
return { token };
},
};
Embed Real-Time Dashboard med Fabric embed SDK
Brug Fabric Embed SDK til at gengive Microsoft Fabric Real-Time Dashboard i HTML-containeren. De offentlige preview-SDK-typer i dette eksempel bruger KQLDashboard* navne til Real-Time Dashboard-embedding.
Indlejringskonfigurationen bruger disse værdier.
| Konfigurationsfelt | Værdi |
|---|---|
itemId |
Det Real-Time Dashboard-item-ID fra forudsætningerne. |
workspaceId |
Microsoft Fabric arbejdsområde-ID fra forudsætningerne. |
accessToken |
Den delegerede Microsoft Fabric-adgangstoken returneres af getAccessToken(). |
accessTokenProvider |
Callbacken, der opdaterer delegerede tokens til det indlejrede dashboard. |
viewMode |
KQLDashboardViewMode.View, som gengiver dashboardet til 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();
Erstat <real-time-dashboard-item-id> og <workspace-id>, inklusive vinkelbeslagene, med dine Fabric item og workspace ID'er.
Når koden kører, gengiver SDK'en det Real-Time Dashboard i containeren og skriver Real-Time Dashboard rendered. til browserens konsol.
Vigtig
SDK-typenavnene i denne artikel bruger public-preview-terminologi. Hvis din installerede preview-pakke bruger forskellige typenavne, så brug navnene fra den pakkeversion. For andre forbehold om forhåndskontrakter, se Begrænsninger for Microsoft Fabric Embed.
Verificér Microsoft Fabric indlejr Real-Time dashboardet
SDK'en indlejrer dashboardet med succes, når det vises i regionen, fabric-embed-container og browserens konsol logger Real-Time Dashboard rendered..
Hvis dashboardet ikke gengives, brug SDK-hændelsesdetaljerne error og tjek disse elementer.
| Kontrollér | Hvad skal man verificere |
|---|---|
| Brugeradgang | Den indloggede Microsoft Entra bruger kan åbne Real-Time Dashboard i Fabric. |
| Kapacitet | Arbejdsområdet, der indeholder Real-Time Dashboard, er tildelt en aktiv Fabric kapacitet. |
| Omdiriger URI | Microsoft Entra-appregistreringen inkluderer omdirigerings-URI'en for din webapp. |
| Delegerede tilladelser | App-registreringen har delegeret samtykke til Fabric.Embed og (eller KQLDashboard.Read.All), og tokenanmodningen bruger Fabric-scopet .defaultItem.Read.All. |
| Identifikatorer | Workspace-ID'et og Real-Time dashboard-item ID matcher det Fabric indhold, du ønsker at indlejre. |
| HTML-beholder | Elementet fabric-embed-container eksisterer, har et tilgængeligt navn og kan stadig nås via tastaturet i dit app-layout. |
| SDK-fejlhåndtering | Din app håndterer Fabric Embed SDK-hændelsen error og logger fejloplysningerne. |