Fejlfinding af udrulningsplaner (forhåndsvisning)

Problemer med udrulningsplaner falder i to grupper: problemer i selve planen, som du ser, mens du skriver den, og problemer, der opstår under en udsendelse med en tilknyttet plan.

Problemer, mens du skriver en plan

Lærredet validerer en plan, mens du redigerer den. Nogle problemer blokerer dig fra at gemme, og andre advarer dig kun.

Planen kan ikke reddes

Disse problemer betyder, at planen ikke er helt konsekvent internt. De afhænger ikke af nogen arbejdsplads, så det er altid op til dig at løse dem.

Lærredet forhindrer de fleste af dem, mens du redigerer, ved ikke at lade dig bygge en ugyldig plan i første omgang. Reglerne håndhæves, når planen gemmes, ikke af lærredet, så de gælder for alle stier, en plan kan tage ind i et arbejdsområde. Du vil sandsynligvis møde dem, når en plan kommer på en anden måde:

  • Gennem deployment plan REST API.
  • Gennem et træk fra Git, hvor planen blev redigeret i repositoryet.
  • Gennem et eksternt værktøj eller en CI/CD-pipeline, der skriver planens definition direkte.

I de tilfælde afvises gemningen, og fejlen identificerer det element, der forårsagede den.

Problem Årsag Løsning
Planen indeholder en cyklus To eller flere deploy-grupper afhænger af hinanden, direkte eller gennem en kæde. En cyklus tæller også, når kæden løber gennem selve genstandene, ikke kun gennem eksplicitte afhængigheder Fjern en af afhængighederne, så ordenen flyder i én retning
Duplikat navn To grupper deler et navn, eller to handlinger inden for samme gruppe deler et navn Omdøb en af dem. Navne sammenlignes uden kasus-følsomhed
Afhængighed eksisterer ikke En afhængighed navngiver en gruppe eller handling, som ikke er i planen Ret navnet, eller tilføj den manglende gruppe eller handling
Selvforsyning En gruppe eller handling afhænger af sig selv, eller en pre-deploy handling retter sig mod sin egen gruppes genstand Fjern afhængigheden
En pre-deploy handling afhænger af en post-deploy handling Pre-deploy-handlinger kører før genstanden deployes, og post-deploy-handlinger kører efter, så denne rækkefølge kan ikke opfyldes Flyt handlingen, eller fjern afhængigheden
Ugyldig identifikator En itemreference er ikke en gyldig, ikke-tom GUID Ret referencen
En genstand optræder i mere end én gruppe Hver genstand kan kun tilhøre én gruppe i en plan Fjern duplikaten
En grænse overskrides Planen er større, end skemaet tillader Del arbejdet på mere end én plan. Se Overvejelser og begrænsninger for størrelsesgrænserne

I lærredet forbliver save deaktiveret, indtil alle disse er løst, og elementet, der forårsager hver fejl, markeres.

Planen kan reddes, men viser advarsler

Disse problemer afhænger af det arbejdsområde, planen peger på, ikke af selve planen. Du kan gemme planen og rette dem senere, hvilket lader dig færdiggøre authoringen, før alle elementer findes i det ønskede arbejdsområde.

Advarsel! Årsag Løsning
Genstanden ikke fundet Planen refererer til et element, der ikke findes i målarbejdsområdet Udløs genstanden, eller fjern referencen fra planen
Genstanden kan ikke aktiveres Det refererede element eksisterer, men kan ikke køre, fordi det blev slettet, deaktiveret eller er af en anden type end handlingen forventer Genopret genstanden, eller peg handlingen mod den korrekte genstand
Ukendt handlingstype En handling refererer til en handlingstype, der ikke understøttes Skift handlingen til en af de understøttede handlingstyper
Ingen tilladelse på en refereret genstand Du har ikke tilladelse til en genstand, som planen refererer til Du får kun denne advarsel for elementer i et andet arbejdsområde. Anmod om adgang til genstanden, eller fjern referencen

Bemærkning

En advarsel forhindrer dig ikke i at gemme en plan, og den forhindrer ikke en plan i at blive vedhæftet. Det er et signal om, at planen endnu ikke er klar til det arbejdsområde, du peger på.

Problemer under en udsendelse

Når en plan er vedhæftet, bruger deploy-motoren den til at bestemme rækkefølgen af deployen og hvilke handlinger der udføres. Fejl på dette stadie rapporteres på udrulningen, ikke på planen.

Udsendelsen stoppede undervejs

Når en handling fejler, stopper udrulningen. Genstande, der allerede er deployeret, bliver i målarbejdsområdet, og de items, der kommer senere i rækkefølgen, bliver ikke deployed.

En mislykket udrulning ruller ikke færdiggjorte genstandsudrulninger eller ændringer foretaget af handlinger tilbage. Før du prøver igen, skal du identificere det, der er fuldført, og rette årsagen til fejlen. Tjek om gentagelse af færdiggjorte handlinger kan duplikere data eller forårsage andre utilsigtede ændringer. Følg genopretningsproceduren for det deployeringsværktøj, du brugte.

En aktion mislykkedes

En handling er et normalt Fabric-item run, så fejldetaljerne følger elementet, ikke planen. Udrulningen rapporterer en fejl, der identificerer den handling, der fejlede. For at finde ud af, hvorfor det fejlede, åbn det element og gennemgå dets kørselshistorik.

En handling fejlede, fordi arbejdsområdet ikke er konfigureret

En udrulning indeholder varedefinitioner. Den har ikke arbejdsområdeindstillinger, og det gør en plan heller ikke. Når du deployer til et arbejdsområde for første gang, for eksempel et nyt branch-out workspace eller en pipeline-fase, der lige er oprettet, starter målarbejdsområdet med standardindstillinger.

Dette betyder mere med en plan end uden, fordi planens handlinger kører mod målarbejdsområdet umiddelbart efter, at genstandene er udsendt. Genstandene selv udløses korrekt, og så fejler den første handling.

Symptom Årsag Løsning
En handling kan ikke læse eller skrive data, eller godkendelsen fejler Målarbejdsområdet har ingen arbejdsområdeidentitet, så elementer, der er afhængige af det, har ingen identitet at autentificere med Opret arbejdsområdets identitet i målarbejdsområdet, og giv det derefter adgang til datakilderne
En Spark-session starter ikke, eller starter med uventet konfiguration Spark-indstillinger, brugerdefinerede pools og standardmiljøet er arbejdsområdeindstillinger og er ikke implementeret Konfigurer Spark-indstillingerne på det målrettede arbejdsområde, så de matcher kilden, før du deployerer
En handling når ikke en datakilde, der fungerer i kildearbejdsområdet Forbindelser og gateway-bindings er på arbejdsområde-niveau og bliver ikke implementeret Genskab forbindelserne i målarbejdsområdet

Konfigurer disse indstillinger på målarbejdsområdet før den første udrulning. Når de er konfigureret, forbliver de, så senere udrulninger i det samme arbejdsområde påvirkes ikke.

Henvisninger mellem genstande er en separat sag. Nogle genindstiller automatisk, når en genstand udrulles, og andre gør ikke, hvilket ændrer, hvad en handling finder, når den kører. Du kan få flere oplysninger under Forstå afhængighedsbinding i udrulning på tværs af arbejdsområder.

Den næste aktion startede for tidligt

En handling fuldføres, når genstandens run slutter. Den venter ikke på, at downstream-tjenester indhenter det, så data, som en handling producerer, kan muligvis ikke forespørges, når næste handling begynder.

Hvis en senere handling afhænger af de data, skal du sikre dig, at den eksplicit afhænger af den handling, der producerer dataene. Hvis afhængigheden allerede eksisterer, tilføj en readiness check til den producerende handling eller flyt det afhængige værk til samme handling.

En Dataflow Gen2-handling fejlede ved anden forekomst

Det samme Dataflow Gen2-element kan ikke dukke op to gange i én plan, fordi dets opdateringsjob ikke kan køre mere end én gang ad gangen. Lærredet advarer dig, når du tilføjer den anden forekomst, og den anden forekomst blokeres, når udrulningen kører.

Fjern den duplikerede handling.

En brugerdatafunktion har ufuldstændigt output

Output større end 512 KB er trunkeret. Aktionen lykkes stadig, så udsendelsen fortsætter. Hvis du har brug for hele outputtet, så skriv det til lagring indefra funktionen i stedet for at returnere det.

Planen ligger ikke i plukkeren

Pickeren på hver fastgørelsesoverflade viser de planer, du har adgang til. Hvis en plan mangler: