Konfigurer Fabric-overvågningshubben
Overvågningshubben i Microsoft Fabric Workload Development Kit er det centraliserede overvågningscenter. Overvågningshubben er designet til Fabric-brugere til at spore elementbaggrundsjob. Du kan få mere at vide under Brug overvågningshubben.
Backend
I dette afsnit beskrives det, hvordan du konfigurerer en backend-implementering for overvågningshubben.
Definer egenskaben JobScheduler
i elementmanifestet
Hvis du vil aktivere jobsupport, skal elementet angive de typer job, det understøtter. Føj egenskaben JobScheduler
til elementmanifestfilen. Egenskaben JobScheduler
aktiverer Fabric-administrerede job til dine elementer.
Følgende tabel indeholder en oversigt over de understøttede JobScheduler
definitionsegenskaber:
Egenskab | Beskrivelse | Mulige værdier |
---|---|---|
OnDemandJobDeduplicateOptions |
Angiver indstillingen for deduplikering for varejob efter behov. | - None : Undlad at deduplicere jobbet. - PerArtifact : Sørg for, at der kun køres ét aktivt job for samme element- og jobtype. - PerUser : Kontrollér, at der kun køres ét aktivt job for den samme bruger og det samme element. |
ScheduledJobDeduplicateOptions |
Angiver indstillingen for deduplikering for varejob efter behov. | - None : Undlad at deduplicere jobbet. - PerArtifact : Sørg for, at der kun køres ét aktivt job for samme element- og jobtype. - PerUser : Kontrollér, at der kun køres ét aktivt job for den samme bruger og det samme element. |
ItemJobTypes |
En liste over jobtyper med de angivne egenskaber. | - Name : Navnet på jobtypen, som kan tilpasses fuldt ud af den uafhængige softwareleverandør (ISV). |
Implementer arbejdsbelastnings-API'er til job
Hvis du vil integrere med job, skal en arbejdsbelastning implementere job-API'erne som defineret i Swagger-specifikationen.
Tre Fabric-API'er er relateret til job:
Start jobforekomsten
Slutpunkt: POST /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}
Denne API kaldes for at starte udførelsen af et job.
- Svar: API'en skal returnere en
202 Accepted
status, der angiver, at jobbet blev planlagt korrekt af systemet.
Hent jobforekomstens tilstand
Slutpunkt:GET /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}
Fabric bruger en pollingmekanisme til at spore jobforekomststatus. Denne API kaldes hvert minut, mens jobforekomsten er i gang for at kontrollere dens status. Polling stopper, når jobbet er fuldført, uanset om det lykkes eller på grund af fejl.
Svar: API'en skal returnere en
200 OK
status sammen med den aktuelle tilstand for jobforekomsten. Svaret skal omfatte jobstatus, starttidspunkter og sluttidspunkter samt oplysninger om fejl, hvis jobbet mislykkedes.Understøttede jobstatusser:
NotStarted
InProgress
Completed
Failed
Cancelled
Vigtigt! Selvom jobbet mislykkes, skal denne API returnere en
200 OK
status og enFailed
jobstatus.
Annuller en jobforekomst
Slutpunkt:POST /workspaces/{workspaceId}/items/{itemType}/{itemId}/jobTypes/{jobType}/instances/{jobInstanceId}/cancel
Kald denne API for at annullere en igangværende jobforekomst.
- Svar: API'en skal returnere en
200 OK
status sammen med den aktuelle tilstand for jobforekomsten. Svaret skal omfatte jobstatus, start- og sluttidspunkter samt oplysninger om fejl, hvis jobbet mislykkedes.
Mere information
Antal døde job:
Et job markeres som et "dødt bogstav" af Fabric-platformen, hvis det ikke starter inden for 2 timer.
Eksempel på implementering
Du kan se et eksempel på implementering af disse API'er under JobsControllerImpl.cs i lageret med eksempler.
Frontend
I dette afsnit beskrives det, hvordan du konfigurerer en frontendimplementering for overvågningshubben.
Kør et job i brugergrænsefladen i Fabric
Når du har integreret job i dine elementer i backend, kan brugerne begynde at køre job.
Brugerne har to muligheder for at køre job i Fabric:
- Et automatisk planlagt job. Denne indstilling er defineret af brugeren til at køre med jævne mellemrum via en delt Fabric-tidsplanoplevelse.
- On-demand ved hjælp af brugergrænsefladen for arbejdsbelastningen med og udvidelsesklient-SDK'et.
Fabric Scheduler-oplevelse fra brugergrænsefladen
Indstillinger for indgangspunkt:
Brug tidsplanen for genvejsmenuen.
Brug
workloadClient.itemSettings.open
, hvor det valgte indstillings-id erSchedule
.
Layout
- Det sidste vellykkede opdateringstidspunkt og det næste opdateringstidspunkt.
- Knappen Opdater .
- Indstillingerne for elementtidsplan.
Onboarding
Trin 1: Tilføj et element i genvejsmenuen tidsplan
Hvis du vil have vist knappen Tidsplan i elementkontekstmenuen, skal du føje en ny post til contextMenuItems
egenskaben i elementfrontendmanifestet:
{
"name": "schedule"
}
Trin 2: Tilføj indstillinger for elementtidsplan
Føj en ny schedule
post til egenskaben elementindstillinger i frontendmanifestet:
"schedule": {
"itemJobType": "ScheduledJob",
"refreshType": "Refresh"
}
itemJobType
: Den elementjobtype, der er defineret i XML-filen til definition af elementjob.refreshType
: Angiver visningen af knappen Opdater . Vælg mellem tre indstillinger: BrugRefresh
ogRun
til at aktivere opdateringsknappen og det viste navn, eller angivNone
til at deaktivere knappen Opdater .
Job JavaScript-API'er
Ud over automatiske planlagte job kan en arbejdsbelastning køre et job efter behov eller endda starte et planlagt job efter behov. Vi leverer et sæt API'er som en del af vores udvidelsesklient:
API'er for planlagte job:
getItemScheduledJobs(objectId: string): Promise<ItemSchedule>
createItemScheduledJobs(createItemScheduledJobs: CreateItemScheduleParams): Promise<ItemSchedule>
updateItemScheduledJobs(updateItemScheduleParams: UpdateItemScheduleParams): Promise<ItemSchedule>
Specifikke jobforekomst-API'er:
runItemJob(jobParams: RunItemJobParams): Promise<ItemJobInstance>
cancelItemJob(jobParams: CancelItemJobParams): Promise<CancelItemJobResult>
getItemJobHistory(getHistoryParams: GetItemJobHistoryParams): Promise<ItemJobHistory>
Bemærk
getItemJobHistory
returnerer jobbet med den status, der i øjeblikket er gemt i Fabric. Da Fabric i øjeblikket udelukkende er afhængig af polling, skal du være opmærksom på, at status muligvis ikke er den nyeste. Hvis du kræver, at brugergrænsefladen afspejler den mest nøjagtige status så hurtigt som muligt, anbefaler vi, at du får statussen direkte fra backend.
Integrer med overvågningshubben
Når dataene er klar, vises elementjobbene automatisk i overvågningshubben. Det næste trin er at føje elementtypen til filterruden og konfigurere og implementere tilgængelige handlinger, som en bruger kan udføre i forhold til jobbene.
Aktivér dit element i filtreringsruden for overvågningshubben
Hvis du vil føje elementet til filterruden, skal du definere en ny egenskab i elementfrontendmanifestet og angive supportedInMonitoringHub
til true
.
Integrer med hurtige jobhandlinger
En bruger kan udføre et sæt handlinger i forhold til et job, herunder annullere, prøve igen og få oplysninger.
Arbejdsbelastningsteamet beslutter, hvilken gruppe der skal aktiveres, ved at angive itemJobConfig
egenskaben i elementfrontendmanifestet. Hvis den ikke er angivet, er ikonet ikke synligt.
Den konfiguration, vi føjede til vores eksempelelement, som understøtter alle jobhandlinger, vises f.eks. senere i dette afsnit.
Når en bruger vælger ikonet Annuller for eksempelelementjobbet, kalder vi den angivne handling item.job.cancel
. Den jobrelaterede kontekst for udvidelsen Fabric.WorkloadSample
implementeres af arbejdsbelastningen for faktisk at annullere jobbet.
Fabric-platformen forventer også et svar fra denne handling for at give brugeren besked om resultaterne.
"itemJobActionConfig": {
"registeredActions": {
"detail": {
"extensionName": "Fabric.WorkloadSample",
"action": "item.job.detail"
},
"cancel": {
"extensionName": "Fabric.WorkloadSample",
"action": "item.job.cancel"
},
"retry": {
"extensionName": "Fabric.WorkloadSample",
"action": "item.job.retry"
}
}
}
Ruden Jobdetaljer
Når arbejdsbelastningsteamet registrerer handlingen for detaljerede oplysninger, forventer Fabric, at arbejdsbelastningshandlingen returnerer dataene i et bestemt format, så Fabric kan vise disse oplysninger i sidepanelet.
I øjeblikket understøttes nøgle-/værdipar i almindelig tekst eller link.
- Du kan se et eksempel på håndtering af jobhandlinger under index.worker.ts i eksempel-lageret. Søg efter handlinger, der starter med
item.job
, i filen .
Seneste kørsler
Ud over at vise jobstatus i overvågningshubben tilbyder Fabric en delt brugeroplevelse for at vise de seneste kørsler af et bestemt element.
Indgangspunkter:
>Genvejsmenu seneste kørsler
Bruger
workloadClient.itemRecentRuns.open
.
Onboarding
Trin 1: Tilføj recentRuns
genvejsmenuelement
Hvis du vil have vist knappen Seneste kørsler i elementmenuen, skal du tilføje en ny post i contextMenuItems
egenskaben i elementfrontendmanifestet.
Eksempel:
{
"name": "recentruns"
}
Trin 2: Tilføj elementindstillinger recentRun
Føj en ny recentRun
post til egenskaben elementindstillinger i frontendmanifestet.
Eksempel:
"recentRun": {
"useRecentRunsComponent": true,
}
Jobintegration på båndet med eksempelelementet
Som en del af vores eksempel på arbejdsbelastning for brugergrænsefladen har vi tilføjet et afsnit, der er dedikeret til job på elementbåndet.
Du kan se et eksempel på, hvordan dette bånd blev implementeret, under ItemTabToolbar.tsx i eksempelrepoet.