Dela via


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.

Diagram över arkitekturen för utvecklarläge.

  • 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.

Diagram över molnlägesarkitekturen.

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 ikoner icon1.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 och FE 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 en WorkloadManifest.xml och upp till 10 Item.xml filer. Om du har fler än 10 objektfiler i mappen resulterar det i ett uppladdningsfel.
  • Undermappen Assets måste finnas under FE 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 undermappenAssets: .jpeg, .jpg, . .png
  • Mappen FE kan innehålla högst 10 objektfiler plus en product.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 i Assets 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

Diagram över utvecklingsläget är schemaarkitektur.

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.

CloudMode BE-schema

Diagram över molnläget BE-schemaarkitektur.