Introduktion till arbetsbelastningar
Det här kapitlet beskriver de viktigaste komponenterna i vårt system och ger en översikt över arkitekturen. Dessa komponenter samverkar för att skapa en robust och flexibel plattform för dina utvecklingsbehov. Nu ska vi gå in på de här komponenterna och deras roller i vår arkitektur.
Infrastruktur för arbetsbelastningsarkitektur
Några av de viktigaste aspekterna i infrastrukturresursens arbetsbelastningsarkitektur är:
Den hanterar databehandling, lagring och hantering. Den validerar Microsoft Entra-ID-token innan de bearbetas och interagerar med externa Azure-tjänster, till exempel Lakehouse.
Arbetsbelastningens klientdel (FE) erbjuder ett användargränssnitt för jobbskapande, redigering, hantering och körning.
Användarinteraktioner via FE initierar begäranden till BE, antingen direkt eller indirekt via Fabric Backend (Fabric BE).
Mer detaljerade diagram som visar kommunikationen och autentiseringen av de olika komponenterna finns i översikten över serverdelsautentisering och auktorisering och översiktsdiagram för autentisering.
Klientdel (FE)
Klientdelen fungerar som bas för användarupplevelsen (UX) och beteendet, som fungerar inom en iframe i Infrastrukturportalen. Det ger Fabric-partnern en specifik användargränssnittsupplevelse, inklusive en objektredigerare. Tilläggsklientens SDK utrustar de gränssnitt, API:er och bootstrap-funktioner som krävs för att omvandla en vanlig webbapp till en Micro Frontend-webbapp som fungerar sömlöst i Fabric-portalen.
Serverdel (BE)
Serverdelen är ett kraftpaket för databearbetning och metadatalagring. Den använder CRUD-åtgärder för att skapa och hantera arbetsbelastningsobjekt tillsammans med metadata och kör jobb för att fylla i data i lagringen. Kommunikationsbryggningen mellan klientdelen och serverdelen upprättas via offentliga API:er.
Arbetsbelastningarna kan köras i två miljöer: lokalt och i molnet. I lokal (devmode) körs arbetsbelastningen på utvecklarens dator, med API-anrop som hanteras av DevGateway-verktyget. Det här verktyget hanterar även arbetsbelastningsregistrering med Fabric. I molnläge körs arbetsbelastningen på partnertjänsterna, med API-anrop som görs direkt till en HTTPS-slutpunkt.
Utvecklingsmiljö
- Arbetsbelastningspaket för utvecklingsläge: När du skapar serverdelslösningen i Visual Studio använder du konfigurationen felsökningsversion för att skapa ett BE NuGet-paket som kan läsas in i Fabric-klientorganisationen med devgateway-programmet.
- Arbetsbelastningspaket för molnläge: När du skapar BE-lösningen i Visual Studio använder du versionskonfigurationen för att skapa ett fristående arbetsbelastningspaket (BE och FE). Det här paketet kan laddas upp direkt till klientorganisationen.
- Mer information om konfigurationer för felsökning och versionsversion finns i ändra byggkonfigurationen
NuGet-paketstruktur för arbetsbelastning
Arbetsbelastningen paketeras som ett NuGet-paket som kombinerar serverdels- och klientdelskomponenter. Strukturen följer specifika namngivningskonventioner och framtvingas av Fabric för konsekvens mellan uppladdningsscenarier. NuGet-paketet som är utformat för att representera arbetsbelastningar är strukturerat för att inkludera både serverdels- och klientdelskomponenter.
Serverdelsstruktur
Serverdelssegmentet består av .xml filer som definierar arbetsbelastningen och dess associerade objekt, som är viktiga för registrering med Fabric.
Nyckelkomponenter
WorkloadManifest.xml
– Konfigurationsfilen för arbetsbelastningen, som krävs för att ha det här exakta namnet på fabric-verifieringen.Item1.xml
,Item2.xml
,...
– Manifest för enskilda objekt med flexibel namngivning, enligt XML-formatet.
Klientdelsstruktur
Klientdelsavsnittet innehåller .json filer som beskriver produkten och objekten för klientdelen, tillsammans med en "tillgångar"-katalog för ikoner.
Nyckelkomponenter
Product.json
- Huvudmanifestet för produktens klientdel, som måste namnges exakt för Fabrics verifiering.Item1.json
,Item2.json
,...
– Manifest för enskilda objekt med flexibel namngivning, enligt JSON-formatet. Varje json motsvarar ett serverdelsmanifest (t.ex. Item1.json till Item1.xml).assets
folder – Lagrar alla ikonericon1.jpg
,icon2.png
,...
som används av klientdelen.
Obligatorisk strukturefterlevnad
Strukturen, inklusive specifika undermappsnamn ("BE", "FE", "tillgångar",) är obligatorisk och framtvingad av Fabric för alla uppladdningsscenarier, inklusive test- och utvecklingspaket. Strukturen anges i filerna .nuspec
som finns på lagringsplatsen under Backend/src/Packages/manifest
katalogen.
Gränser
Följande begränsningar gäller för alla typer av NuGet-paket, både i utvecklingsläge och molnläge:
- Endast
BE
ochFE
undermappar tillåts. Andra undermappar eller filer som finns utanför dessa mappar resulterar i ett uppladdningsfel. - Mappen
BE
accepterar endast.xml
filer. Andra filtyper resulterar i ett uppladdningsfel. - Högst 10 objektfiler tillåts, vilket innebär att
BE
mappen kan innehålla enWorkloadManifest.xml
och upp till 10Item.xml
filer. Om du har fler än 10 objektfiler i mappen resulterar det i ett uppladdningsfel. - Undermappen
Assets
måste finnas underFE
mappen. Den kan innehålla upp till 15 filer, där varje fil inte är större än 1,5 MB. - Endast följande filtyper tillåts i undermappen
Assets
:.jpeg
,.jpg
, ..png
- Mappen
FE
kan innehålla högst 10 objektfiler plus enproduct.json
fil. - Varje tillgång i
Assets
mappen måste refereras till i objektfilerna. Alla tillgångar som refereras från en objektfil som saknas iAssets
mappen resulterar i ett uppladdningsfel. - Filnamn för objekt måste vara unika. Duplicerade filnamn resulterar i ett uppladdningsfel.
- Filnamn måste endast innehålla alfanumeriska (engelska) tecken eller bindestreck och får inte överstiga 32 tecken. Om du använder andra tecken eller överskrider den här längden uppstår ett uppladdningsfel.
- Den totala paketstorleken får inte överstiga 20 MB.
- Se arbetsbelastningsmanifestet för manifestspecifika begränsningar.
Lokalt utvecklingsläge (devmode)
Arbetsbelastningens serverdel (BE) fungerar på utvecklarens dator. Arbetsbelastnings-API-anrop överförs via Azure Relay, där arbetsbelastningens sida av Azure Relay-kanalen hanteras av ett specialiserat kommandoradsverktyg, DevGateway. API-anrop för arbetsbelastningskontroll skickas direkt från arbetsbelastningen till Fabric och kringgår Azure Relay-kanalen. DevGateway-verktyget övervakar också registreringen av den lokala utvecklingsinstansen av arbetsbelastningen med Fabric, inom ramen för en specifik arbetsyta. När DevGateway-verktyget har avslutats återkallas registreringen av arbetsbelastningsinstansen automatiskt. Mer information finns i implementeringsguiden för serverdelen.
DevMode BE-schema
Molnutvecklingsläge (molnläge)
Arbetsbelastningsserverdelen (BE) fungerar inom partnerns tjänster. API-anrop för arbetsbelastning görs direkt till HTTPS-slutpunkten enligt arbetsbelastningsmanifestet. I det här scenariot krävs inte DevGateway-verktyget. Registreringen av arbetsbelastningen med Fabric utförs genom att ladda upp arbetsbelastningens NuGet-paket till Infrastrukturresurser och därefter aktivera arbetsbelastningen för klientorganisationen. Mer information finns i Hantera en arbetsbelastning i Infrastrukturresurser.