Introduktion til arbejdsbelastninger
I dette kapitel introduceres de vigtigste komponenter i vores system, og der gives et overblik over arkitekturen. Disse komponenter arbejder sammen om at skabe en robust og fleksibel platform til dine udviklingsbehov. Lad os dykke ned i disse komponenter og deres roller i vores arkitektur.
Fabric-arbejdsbelastningsarkitektur
Nogle af de vigtigste aspekter af Fabric-arbejdsbelastningsarkitekturen er:
Den håndterer databehandling, lager og administration. Den validerer Microsoft Entra ID-tokens, før de behandles, og interagerer med eksterne Azure-tjenester, f.eks. Lakehouse.
Arbejdsbelastningen Frontend (FE) tilbyder en brugergrænseflade til oprettelse, oprettelse, administration og udførelse af job.
Brugerinteraktioner via FE indleder anmodninger til BE, enten direkte eller indirekte via Fabric Backend (Fabric BE).
Du kan finde mere detaljerede diagrammer, der viser kommunikation og godkendelse af de forskellige komponenter, i Oversigt over Backend-godkendelse og godkendelse og diagrammerne Med godkendelsesoversigt .
Frontend (FE)
Frontend fungerer som basis for brugeroplevelsen (UX) og funktionsmåde, der fungerer inden for en iframe på Fabric-portalen. Det giver Fabric-partneren en specifik brugergrænsefladeoplevelse, herunder en elementeditor. Udvidelsesklientens SDK udstyrer de nødvendige grænseflader, API'er og bootstrapfunktioner til at transformere en almindelig webapp til en Micro Frontend-webapp, der fungerer problemfrit på Fabric-portalen.
Backend (BE)
Backend er kraftcenter til databehandling og metadatalager. Den anvender CRUD-handlinger til at oprette og administrere arbejdsbelastningselementer sammen med metadata og udfører job for at udfylde data i lageret. Kommunikationsbroen mellem frontend og backend etableres via offentlige API'er.
Arbejdsbelastningerne kan køre i to miljøer: lokalt og cloudmiljø. I lokal (devmode) kører arbejdsbelastningen på udviklerens computer med API-kald, der administreres af Værktøjet DevGateway. Dette værktøj håndterer også registrering af arbejdsbelastninger med Fabric. I cloudtilstand kører arbejdsbelastningen på partnertjenesterne, hvor API-kald foretages direkte til et HTTPS-slutpunkt.
Udviklingsmiljø
- Arbejdsbelastningspakke til udviklingstilstand: Når du opretter backendløsningen i Visual Studio, skal du bruge konfigurationen Affind build til at oprette en BE NuGet-pakke, som kan indlæses i Fabric-lejeren ved hjælp af DevGateway-programmet.
- Arbejdsbelastningspakke i cloudtilstand: Når du bygger BE-løsningen i Visual Studio, skal du bruge konfigurationen Afgiv build til at oprette en separat arbejdsbelastningspakke (BE og FE). Denne pakke kan uploades direkte til lejeren.
- Du kan finde flere oplysninger om konfigurationer af fejlfinding og udgivelse af build under Skift buildkonfiguration
NuGet-pakkestruktur for arbejdsbelastning
Arbejdsbelastningen pakkes som en NuGet-pakke, der kombinerer backend- og frontendkomponenter. Strukturen overholder specifikke navngivningskonventioner og gennemtvinges af Fabric for at sikre ensartethed på tværs af uploadscenarier. NuGet-pakken, der er udviklet til at repræsentere arbejdsbelastninger, er struktureret til at omfatte både backend- og frontendkomponenter.
Backendstruktur
Backendsegmentet består af .xml filer, der definerer arbejdsbelastningen og dens tilknyttede elementer, som er vigtige for registrering med Fabric.
Nøglekomponenter
WorkloadManifest.xml
- Arbejdsbelastningskonfigurationsfilen, der skal have dette nøjagtige navn til Fabric's kontrol.Item1.xml
,Item2.xml
...
– Manifester for individuelle elementer med fleksibel navngivning efter XML-formatet.
Frontendstruktur
Frontendafsnittet indeholder .json filer, der beskriver produktet og elementerne for frontend, sammen med en "assets"-mappe for ikoner.
Nøglekomponenter
Product.json
- Hovedmanifestet for dit produkts frontend, som skal navngives præcist til Fabric's kontrol.Item1.json
,Item2.json
...
– Manifester for individuelle elementer med fleksibel navngivning efter JSON-formatet. Hver json svarer til et backend-manifest (f.eks. Item1.json til Item1.xml).assets
folder – Gemmer alle ikonericon1.jpg
, ,icon2.png
som...
bruges af frontend.
Obligatorisk strukturoverholdelse
Strukturen, herunder specifikke undermappenavne ('BE', 'FE', 'assets'), er obligatorisk og håndhæves af Fabric for alle uploadscenarier, herunder test- og udviklingspakker. Strukturen er angivet i de filer, .nuspec
der blev fundet i lageret under Backend/src/Packages/manifest
mappen.
Grænser
Følgende grænser gælder for alle typer NuGet-pakker, både i udviklingstilstand og cloudtilstand:
- Kun
BE
ogFE
undermapper er tilladt. Alle andre undermapper eller filer, der er placeret uden for disse mapper, resulterer i en overførselsfejl. - Mappen
BE
accepterer kun.xml
filer. En hvilken som helst anden filtype resulterer i en overførselsfejl. - Der må højst være 10 elementfiler, hvilket betyder, at mappen
BE
kan indeholde énWorkloadManifest.xml
og op til 10Item.xml
filer. Hvis du har mere end 10 elementfiler i mappen, medfører det en overførselsfejl. - Undermappen
Assets
skal være placeret underFE
mappen . Den kan indeholde op til 15 filer, hvor hver fil ikke er større end 1,5 MB. - Kun følgende filtyper er tilladt i
Assets
undermappen:.jpeg
, ,.jpg
.png
. - Mappen
FE
kan højst indeholde 10 elementfiler plus énproduct.json
fil. - Der skal refereres til hvert aktiv i
Assets
mappen i elementfilerne. Et hvilket som helst aktiv, der refereres til fra en elementfil, som mangler iAssets
mappen, medfører en overførselsfejl. - Filnavne for elementer skal være entydige. Duplikerede filnavne resulterer i en overførselsfejl.
- Filnavne må kun indeholde alfanumeriske (engelske) tegn eller bindestreger og må ikke være længere end 32 tegn. Brug af andre tegn eller overskridelse af denne længde resulterer i en overførselsfejl.
- Den samlede pakkestørrelse må ikke overstige 20 MB.
- Se arbejdsbelastningsmanifestet for at få vist manifestspecifikke begrænsninger.
Lokal udviklingstilstand (devmode)
Arbejdsbelastningens backend (BE) fungerer på udviklerens computer. Api-kald til arbejdsbelastninger overføres via Azure Relay, hvor arbejdsbelastningens side af Azure Relay-kanalen administreres af et specialiseret kommandolinjeværktøj, DevGateway. API-kald til styring af arbejdsbelastning sendes direkte fra arbejdsbelastningen til Fabric og tilsidesætter Azure Relay-kanalen. DevGateway-værktøjet kontrollerer også registreringen af den lokale udviklingsforekomst af arbejdsbelastningen med Fabric inden for rammerne af et bestemt arbejdsområde. Ved afslutning af værktøjet DevGateway annulleres registreringen af arbejdsbelastningsforekomsten automatisk. Du kan få flere oplysninger i Back end-implementeringsvejledningen.
DevMode BE-skema
Cloududviklingstilstand (cloudtilstand)
Arbejdsbelastningens backend (BE) fungerer inden for partnerens tjenester. Api-kald til arbejdsbelastning foretages direkte til HTTPS-slutpunktet som angivet i arbejdsbelastningsmanifestet. I dette scenarie er værktøjet DevGateway ikke påkrævet. Registreringen af arbejdsbelastningen med Fabric opnås ved at uploade NuGet-pakken til Fabric og derefter aktivere arbejdsbelastningen for lejeren. Du kan få flere oplysninger under Administrer en arbejdsbelastning i Fabric.