Del via


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 en Failed 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.

      Skærmbillede, der viser indstillingen Tidsplan i menuen Fabric scheduler.

    • Brug workloadClient.itemSettings.open, hvor det valgte indstillings-id er Schedule.

  • Layout

    Skærmbillede, der viser indstillingerne for Fabric scheduler.

    1. Det sidste vellykkede opdateringstidspunkt og det næste opdateringstidspunkt.
    2. Knappen Opdater .
    3. 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: Brug Refresh og Run til at aktivere opdateringsknappen og det viste navn, eller angiv None 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

Skærmbillede, der viser knapper til hurtig handling for job i overvågningshubben.

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

Skærmbillede, der viser ruden med joboplysninger i overvågningshubben.

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

    Skærmbillede af indstillingen seneste kørsler i menuen Indstillinger.

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

Skærmbillede, der viser fanen Element i brugergrænsefladen i Fabric.

Du kan se et eksempel på, hvordan dette bånd blev implementeret, under ItemTabToolbar.tsx i eksempelrepoet.