Dela via


Felkodsreferens för molnflöde

Använd den här artikeln om du vill felsöka de vanligaste felen i Power Automate molnflöden. Varje post förklarar vad felet innebär, varför det händer och hur du åtgärdar det.

Anmärkning

Den här referensen gäller för alla licensnivåer för Power Automate molnflöde. Lär dig mer om fel som är specifika för skrivbordsflöden i Felsöka fel med skrivbordsflöden.

Design-time-fel

Dessa fel uppstår när du sparar, validerar eller publicerar ett flöde.

InvalidTemplate (Ogiltig mall)

Vad det innebär: Flödesdefinitionen innehåller ett syntaxfel i ett uttryck eller en åtgärdskonfiguration.

Vanliga orsaker:

  • Omatchade parenteser eller citattecken i ett uttryck
  • Referera till ett åtgärdsutdata som inte finns (skrivfel i åtgärdsnamn)
  • Använda en funktion med fel antal argument (till exempel createArray() utan argument)
  • Typmatchningsfel i ett konstant uttryck (till exempel int('abc') eller div(100, 0))– motorn validerar dessa vid sparande
  • Kopiera klistra in uttryck från dokumentation som innehåller osynliga Unicode-tecken

Så här åtgärdar du:

  1. Öppna åtgärden markerad i rött i designern.
  2. Kontrollera uttrycket i formelfältet. Leta efter omatchade () tecken eller ' tecken.
  3. Kontrollera att åtgärdsnamnen i uttrycken matchar exakt (skiftlägeskänsligt): outputs('Get_item') inte outputs('Get Item').
  4. Om uttrycket ser korrekt ut tar du bort det och skriver om det manuellt för att ta bort dolda tecken.

Tips/Råd

Åtgärdsnamn i uttryck använder understreck i stället för blanksteg. Om åtgärden heter "Hämta objekt" är outputs('Get_item')uttrycksreferensen .

Relaterad information: ExpressionEvaluationFailed, FlowCheckerError

FlowCheckerError

Vad det innebär: Flödeskontrollen hittade ett eller flera valideringsproblem som förhindrar sparande.

Vanliga orsaker:

  • Ett obligatoriskt fält är tomt i en eller flera åtgärder
  • En anslutning har inte valts för en anslutningsåtgärd
  • Ett uttryck refererar till ett dynamiskt innehållsvärde från en parallell gren (garanteras inte finnas)
  • Utlösarindata är ofullständiga

Så här åtgärdar du:

  1. Välj felbanderollen överst i designern för att visa den fullständiga listan över problem.
  2. Välj varje fel för att navigera till den berörda åtgärden.
  3. Fyll i obligatoriska fält, åtgärda brutna uttryck och välj anslutningar.
  4. Spara igen. Kontrollen körs automatiskt vid sparande.

Relaterad information: InvalidTemplate, MissingRequiredProperty

DuplicateActionName

Vad det innebär: Två eller flera åtgärder i flödet har samma interna namn.

Vanliga orsaker:

  • Kopiera och klistra in en åtgärd utan att byta namn på den
  • Importera en flödesdefinition som redigerades manuellt med dubblettnycklar
  • Byta namn på en åtgärd till ett namn som redan används av en annan åtgärd i samma omfång

Så här åtgärdar du:

  1. Sök i flödet efter åtgärder med identiska namn (kontrollera även inuti Apply to Each och Scope containrar).
  2. Byt namn på en av dubbletterna. Välj ... -menyn i åtgärden och välj sedan Byt namn.
  3. Uppdatera alla uttryck som refererar till den omdöpta åtgärden: outputs('Old_Name') till outputs('New_Name').

Relaterad information: InvalidTemplate

MissingRequiredProperty

Vad det innebär: Ett obligatoriskt indatafält för en åtgärd eller utlösare är tomt.

Vanliga orsaker:

  • Lägga till en anslutningsåtgärd men inte slutföra konfigurationen
  • Dynamisk innehållstoken som löstes till tom användes i ett obligatoriskt fält
  • Flöde importerat från en lösning där miljövariabler inte anges

Så här åtgärdar du:

  1. Öppna åtgärden som har flaggats med felet.
  2. Leta efter fält markerade med en röd asterisk (*) som är tom.
  3. Fyll i det nödvändiga värdet, antingen med statisk text eller en dynamisk innehållstoken.
  4. För lösningsflöden kontrollerar du att alla miljövariabler har värden i målmiljön.

Relaterad information: FlowCheckerError

Körningsuttrycksfel

Dessa fel uppstår när ett flöde körs och ett uttryck inte kan utvärderas.

ExpressionEvaluationFailed

Vad det betyder:

Ett uttryck kunde inte utvärderas vid körning eftersom faktiska data inte matchade det förväntade uttrycket. Det här felet uppstår bara när uttrycket använder dynamiska värden (variabler, utlösartext, åtgärdsutdata) som inte kan kontrolleras vid sparande.

Anmärkning

Om ett uttryck endast använder konstanta värden (t.ex int('abc') . eller div(100, 0)) fångar flödesmotorn felet vid sparad tid som InvalidTemplate i stället.

Vanliga orsaker:

  • Anropar int() en variabel som innehåller en icke-numerisk sträng vid körning
  • Åtkomst till en egenskap på ett null-objekt (outputs('Get_item')?['body/title'] när Get_item inte returnerade något)
  • Felmatchning av datumformat i formatDateTime() eller parseDateTime() när formatet kommer från en variabel
  • Division med noll när divisorn är ett dynamiskt värde som råkar vara 0

Så här åtgärdar du:

  1. Öppna den misslyckade körningen och välj den misslyckade åtgärden för att visa uttrycks- och indatavärdena.
  2. Omslut riskfyllda uttryck med null-kontroller: if(empty(triggerBody()?['value']), 'default', triggerBody()?['value']).
  3. Använd coalesce() för att ange återställningsvärden: coalesce(outputs('Get_item')?['body/title'], 'Untitled').
  4. Verifiera datatyper före konvertering: if(isInt(variables('input')), int(variables('input')), 0).

Tips/Råd

Lär dig mer om ett bibliotek med färdiga uttrycksmönster med null-säker hantering i Uttryckskokbok för molnflöden.

Relaterad information: InvalidTemplate, ContentConversionFailed

ContentConversionFailed

Vad det innebär: Flödet kunde inte konvertera data från en typ till en annan mellan åtgärder.

Vanliga orsaker:

  • Skicka en sträng där ett heltal eller booleskt värde förväntas
  • Skicka en matris till en åtgärd som förväntar sig ett enskilt objekt
  • Datumsträng i oväntat format (till exempel DD/MM/YYYY när MM/DD/YYYY är förväntat)
  • Binärt innehåll (fil) som skickas till en textinmatning

Så här åtgärdar du:

  1. Kontrollera den misslyckade åtgärdens indata i körningshistoriken. Jämför den faktiska värdetypen med vad åtgärden förväntar sig.
  2. Använd explicita konverteringsfunktioner: int(), float(), string(), bool(), json().
  3. För datum använder du parseDateTime() med ett explicit språk eller formatDateTime() för att normalisera innan du skickar.
  4. För matriser använder du first() för att extrahera ett enskilt objekt om nedströmsåtgärden förväntar sig ett värde.

Relaterad information: ExpressionEvaluationFailed

Anslutnings- och autentiseringsfel

Dessa fel uppstår när flödet inte kan autentiseras till en ansluten tjänst.

InvalidConnection

Vad det innebär: En anslutningsreferens i flödet pekar på en anslutning som har brutits, tagits bort eller upphört att gälla.

Vanliga orsaker:

  • Användaren som skapade anslutningen ändrade sitt lösenord eller fick MFA-återställning
  • Anslutningen har tagits bort från sidan Anslutningar
  • En administratör tog bort anslutningen via power platform-administrationscentret
  • Flödet importerades till en miljö där anslutningen inte finns

Så här åtgärdar du:

  1. Öppna flödet i redigeringsläge. Åtgärder med brutna anslutningar visar en varningsikon.
  2. Välj åtgärden och välj Ändra anslutning eller Lägg till ny anslutning.
  3. Logga in med lämpliga autentiseringsuppgifter för att skapa en ny anslutning.
  4. Spara och testa flödet.

Viktigt!

Överväg att använda anslutningar för tjänstens huvudnamn i stället för personliga användaranslutningar för produktionsflöden. Anslutningar för tjänstens huvudnamn upphör inte att gälla när en användare ändrar sitt lösenord eller lämnar organisationen.

Relaterad information: ConnectionNotConfigured, ConnectionAuthorizationFailed

ConnectionNotConfigured

Vad det innebär: En åtgärd kräver en anslutning men ingen har valts.

Vanliga orsaker:

  • Flödet importerades från en lösning och anslutningsreferenserna mappades inte
  • En ny åtgärd har lagts till, men anslutningssteget hoppades över
  • Anslutningsreferensen pekar på en miljövariabel utan värde

Så här åtgärdar du:

  1. Öppna flödet i redigeringsläge och hitta åtgärden med anslutningsvarningen.
  2. Välj en befintlig anslutning i listrutan eller skapa en ny.
  3. För lösningsflöden går du till Standardreferenser> förlösningsanslutning>.
  4. Ange anslutningen för varje referens.

Relaterad information: InvalidConnection

Ej behörig (401)

Vad det innebär: API:et avvisade begäran eftersom autentiseringstoken är ogiltig eller har upphört att gälla.

Vanliga orsaker:

  • OAuth-token har upphört att gälla och anslutningen kunde inte uppdateras automatiskt
  • Användarens konto har inaktiverats eller lösenordet har ändrats
  • Tjänstens huvudnamnshemlighet eller certifikat har upphört att gälla
  • Principen för villkorsstyrd åtkomst blockerade inloggningen (geo, enhetsefterlevnad)

Så här åtgärdar du:

  1. Gå till Power Automate>Anslutningar och hitta anslutningen som användes av den misslyckade åtgärden.
  2. Om anslutningen visar en varning väljer du Åtgärda anslutning och autentiserar igen.
  3. För anslutningar med tjänstens huvudnamn roterar du hemligheten i Microsoft Entra ID och uppdaterar anslutningen.
  4. Kontrollera Microsoft Entra ID inloggningsloggar för block för villkorsstyrd åtkomst: Azure portal>Microsoft Entra ID>Sign-in-loggar, filtrera efter appnamnet.

Relaterad information: Förbjuden (403), ConnectionAuthorizationFailed

Förbjudet (403)

Vad det innebär: Den autentiserade användaren eller appen har inte behörighet att utföra den begärda åtgärden.

Vanliga orsaker:

  • En DLP-princip (dataförlustskydd) blockerar anslutningsappen eller anslutningsåtgärden i den här miljön
  • Användaren saknar behörighet för målresursen (till exempel ingen skrivåtkomst till en SharePoint list)
  • En administratör begränsade anslutningsappen via inställningar på klientorganisationsnivå
  • Anslutningsappen kräver en Premium-licens och användaren har en sådd plan

Så här åtgärdar du:

  1. Kontrollera DLP-principer: Power Platform-administrationscentret>Dataprinciper. Leta efter principer som blockerar anslutningsappen i din miljögrupp.
  2. Kontrollera att anslutningsanvändaren har rätt behörigheter för måltjänsten (SharePoint platsbehörigheter, Dataverse-säkerhetsroller och liknande).
  3. Om det är ett premiumanslutningsproblem kontrollerar du att flödesägaren eller anroparen har en Power Automate Premium-licens.
  4. Kontakta administratören om en DLP-princip behöver ändras.

Relaterad information: Obehörig (401), DirectApiAuthorizationRequired

ConnectionAuthorizationFailed

Vad det innebär: Anslutningen finns men dess lagrade autentiseringsuppgifter är inte längre giltiga.

Vanliga orsaker:

  • Användarens lösenord har ändrats eller MFA-metoden har återställts
  • OAuth-uppdateringstoken har upphört att gälla (vanligt med anslutningar som inte används i 90 dagar)
  • Administratören återkallade medgivandet för appen i Microsoft Entra ID
  • Den delade anslutningen delades inte av ägaren

Så här åtgärdar du:

  1. Öppna Power Automate>Anslutningar.
  2. Hitta den berörda anslutningen.
  3. Välj anslutningen och välj sedan Åtgärda anslutningen för att autentisera igen.
  4. Om du använder en delad anslutning ber du anslutningsägaren att dela den igen.
  5. För tjänstkonton anger du en kalenderpåminnelse om att rotera autentiseringsuppgifter innan de upphör att gälla.

Tips/Råd

Hitta en detaljerad självstudie om anslutningsproblem per anslutningsapp (SharePoint, Outlook, SQL Server, Dataverse, HTTP) i Fixanslutningsfel i molnflöden.

Relaterad information: InvalidConnection, Obehörig (401)

Anslutnings- och API-fel

Dessa fel kommer från den underordnade tjänst som flödet anropar.

ActionFailed

Vad det innebär: En åtgärd returnerade en felstatus. Det här är en allmän omslutning. Den faktiska felinformationen finns i åtgärdens utdatatext.

Vanliga orsaker:

  • Det underordnade API:et returnerade ett 4xx- eller 5xx-fel
  • Ett underordnat flöde (anropas via "Kör ett underordnat flöde") misslyckades
  • En anpassad anslutningsapp returnerade ett oväntat svarsformat
  • Åtgärdens inställningar för att konfigurera körning efter gjorde att den kördes efter ett tidigare fel

Så här åtgärdar du:

  1. Öppna den misslyckade körningen och välj den misslyckade åtgärden.
  2. Expandera Utdata för att visa det faktiska felmeddelandet och statuskoden från API:et.
  3. Åtgärda det underliggande problemet baserat på det specifika API-felet (granska posterna 400, 401, 403 och 404 i den här referensen).
  4. Om åtgärden ska köras även när tidigare åtgärder misslyckas kontrollerar du dess Konfigurera körning efter inställningar.

Relaterad information: BadRequest (400), NotFound (404)

BadRequest (400)

Vad det innebär: Anslutnings-API:et avvisade begäran eftersom indata är felaktiga eller ogiltiga.

Vanliga orsaker:

  • Skicka ett fält med fel datatyp (sträng i stället för nummer eller vice versa)
  • Obligatoriska fält saknas i begärandetexten
  • Ogiltiga tecken i filnamn eller listobjektrubriker
  • Överskrider en fältlängdsgräns (till exempel SharePoint enradstext = 255 tecken)

Så här åtgärdar du:

  1. Öppna den misslyckade åtgärden i körningshistoriken och titta på avsnittet Indata för att visa exakt vad som skickades.
  2. Jämför indata med API:ets förväntade schema (kontrollera anslutningsdokumentationen).
  3. Rensa användarindata med replace() för att ta bort ogiltiga tecken innan du skickar till åtgärden.
  4. Använd substring() eller take() för att trunkera långa värden till fältets maximala längd.

Relaterad information: ActionFailed, ContentConversionFailed

NotFound (404)

Vad det innebär: Resursen som åtgärden försöker komma åt finns inte.

Vanliga orsaker:

  • En SharePoint list, ett bibliotek eller en webbplats har bytt namn eller tagits bort
  • En Outlook mapp eller Teams-kanal har tagits bort
  • Flödet refererar till ett hårdkodat ID för en resurs som inte längre finns
  • Dataverse-tabellen eller raden har tagits bort av en annan process

Så här åtgärdar du:

  1. Kontrollera att resursen fortfarande finns i måltjänsten.
  2. Om den har bytt namn uppdaterar du åtgärden så att den använder det nya namnet eller ID:t.
  3. Ersätt hårdkodade ID:er med dynamiska sökningar där det är möjligt (till exempel "Hämta objekt" med ett filter i stället för "Hämta objekt" med ett statiskt ID).
  4. Lägg till felhantering: Konfigurera nästa åtgärd till Kör efter>har misslyckats och hantera 404 korrekt.

Relaterad information: ActionFailed

Utlösarfel

Dessa fel gäller flödesutlösare som inte utlöses eller misslyckas.

TriggerConditionNotMet

Vad det innebär: Utlösaren utvärderade dess villkor och fastställde att händelsen inte skulle starta en flödeskörning.

Vanliga orsaker:

  • Ett uttryck för utlösarvillkor utvärderas alltid till false (logikfel)
  • Utlösarvillkoret refererar till ett fält som inte finns i utlösarnyttolasten
  • Händelsen inträffade men data matchade inte filtret (till exempel "När ett objekt skapas" med ett villkor för Status, men Status var tom)

Så här åtgärdar du:

  1. Gå till utlösarens inställningar och granska villkorsuttrycket för utlösaren.
  2. Testa villkoret mot en känd händelsenyttolast. Använd Peek-kod på utlösaren för att visa råschemat.
  3. Ta tillfälligt bort villkoret, utlös flödet manuellt och kontrollera utlösarens utdata för att verifiera fältnamn och värden.
  4. Åtgärda uttrycket och återaktivera villkoret.

Relaterad information: ExpressionEvaluationFailed

Timeout- och begränsningsfel

Dessa fel uppstår när flödet eller en åtgärd överskrider tids- eller hastighetsgränser.

ActionTimedOut

Vad det innebär: En enskild åtgärd överskred den konfigurerade tidsgränsen och avbröts.

Vanliga orsaker:

  • HTTP-åtgärd som anropar ett långsamt externt API med standardtimeout på 100 sekunder
  • "Vänta på ett godkännande" med ett förfallodatum som har passerat
  • Stor filuppladdning eller nedladdning via en långsam anslutning
  • Dataverse-fråga returnerar för många rader utan sidnumrering

Så här åtgärdar du:

  1. Öppna åtgärdens inställningar och öka tidsgränsvärdet (ISO 8601-varaktighet, PT5M till exempel i 5 minuter).
  2. För HTTP-åtgärder kontrollerar du om det externa API:et har ett långvarigt åtgärdsmönster (avsök med återförsök efter).
  3. För Dataverse lägger du till $filter och $top minskar resultatuppsättningen.
  4. För godkännanden anger du en rimlig giltighetstid och lägger till en timeout-gren för att hantera icke-svar.

Relaterad information: OperationTimedOut

OperationTimedOut

Vad det innebär: En tidskrävande åtgärd (webhook-väntan, godkännande, HTTP-avsökning) överskred den maximala väntetiden.

Vanliga orsaker:

  • HTTP webhook-åtgärd väntar på ett återanrop som aldrig kom
  • Godkännandeåtgärd utan förfallodatum, som når 30-dagars flödeskörningsgränsen
  • Åtgärden "Fördröj tills" har angetts till ett datum som överskrider tidsgränsen på 30 dagar
  • Den externa tjänsten gick ned och skickade aldrig det förväntade svaret

Så här åtgärdar du:

  1. Ange alltid explicita tidsgränser för webhook- och godkännandeåtgärder.
  2. För HTTP webhook-åtgärder implementerar du en timeout-gren med Konfigurera körning när>tidsgränsen har överskridits.
  3. Bryt långa väntetider i kortare segment med hjälp av en loop med dagliga kontroller.
  4. För 30-dagars körningsgränsen gör du om tidskrävande processer så att de använder ett "relämönster": Avsluta den aktuella körningen och starta en ny med tillstånd som skickas via Dataverse eller en fil.

Viktigt!

Molnflöden har en maximal körningstid på 30 dagar. För processer som tar längre tid delar du upp dem i flera flödeskörningar med delat tillstånd.

Relaterad information: ActionTimedOut

WorkflowRunActionRepetitionQuotaExceededed

Vad det innebär: En Tillämpa på varje loop överskred det maximala antalet iterationer (standard: 100 000 för Premium, 5 000 för prestandaprofiler).

Vanliga orsaker:

  • Bearbeta en stor SharePoint list- eller Dataverse-tabell utan att filtrera först
  • Kapslade Apply to Each loopar som multiplicerar antalet iteration (100 x 100 = 10 000)
  • En Get items åtgärd som returnerar alla rader i stället för en filtrerad delmängd

Så här åtgärdar du:

  1. Lägg till filter i datakällans åtgärd för att minska antalet objekt före loopen.
  2. Använd OData $filter och $topHämta objektåtgärder i stället för att filtrera inuti loopen.
  3. För stora datauppsättningar batchar du arbetet över flera flödeskörningar med hjälp av sidnumreringstoken eller datumintervall.
  4. Överväg att använda Select eller Filter array åtgärder i stället för Apply to Each när du bara behöver transformera eller filtrera data.

Relaterad information: FlowRunQuotaExceeded

FlowRunQuotaExceeded

Vad det innebär: Flödet eller klientorganisationen överskred gränsen för daglig åtgärdskörning.

Vanliga orsaker:

  • Seeded/free license: 6 000 åtgärder per dag per användare
  • Premiumlicens: 40 000 åtgärder per dag per användare
  • Processlicens: 250 000 åtgärder per dag per flöde
  • Ett looptungt flöde som förbrukar tusentals åtgärder per körning

Så här åtgärdar du:

  1. Kontrollera aktuell användning i administrationscentret för Power Platform>Analytics>Power Automate.
  2. Optimera flöden för att använda färre åtgärder: ersätt Använd för var och en med Select/Filter, batchåtgärder, minska avsökningsfrekvensen.
  3. Uppgradera licensnivån om arbetsbelastningen behöver mer kapacitet.
  4. Sprid arbetsbelastningar över flera flöden eller schemalägg körningar med hög volym under låg belastning.

Anmärkning

Läs mer om dagliga åtgärdsgränser per licensnivå i Power Automate gränser och konfiguration.

Relaterad information: WorkflowRunActionRepetitionQuotaExceeded, DirectApiAuthorizationRequired

Licensfel

DirectApiAuthorizationRequired

Vad det betyder: Flödet använder en Premium-anslutningsapp men anroparen har ingen premiumlicens.

Vanliga orsaker:

  • Ett flöde med Premium-anslutningsappar (HTTP, SQL Server, Dataverse, anpassade anslutningsappar) körs av en användare på en sådd Microsoft 365 licens
  • Flödesägaren har premium men den utlösande användaren gör det inte (anroparens licens spelar roll, inte ägarens)
  • Ett schemalagt flödes ägare förlorade sin premiumlicens
  • Ett sammanhangsbaserat flöde kopplades från dess Power App, vilket gjorde det out-of-context

Så här åtgärdar du:

  1. Identifiera vilken anslutningsapp som kräver premium. Felmeddelandet namnger vanligtvis det.
  2. Tilldela en Power Automate Premium-licens till den användare som utlöser eller kör flödet.
  3. Kontrollera att flödesägaren har en premiumlicens för schemalagda eller automatiserade flöden.
  4. Fundera på om en processlicens (per flöde) är mer kostnadseffektiv för delade flöden med stora volymer.

Relaterad information: Förbjuden (403), FlowRunQuotaExceeded

Snabbreferenstabell

Error Kategori Mest sannolika korrigering
InvalidTemplate (Ogiltig mall) Designtid Korrigera uttryckssyntax
ExpressionEvaluationFailed Runtime Lägga till null-kontroller, verifiera typer
ActionFailed Runtime Kontrollera åtgärdsutdata för API-fel
FlowCheckerError Designtid Fyll i obligatoriska fält, åtgärda anslutningar
InvalidConnection Anslutning Autentisera anslutningen igen
ConnectionNotConfigured Anslutning Välj eller skapa en anslutning
Ej behörig (401) Auth Åtgärda anslutning, rotera autentiseringsuppgifter
Förbjudet (403) Auth Kontrollera DLP-principer, behörigheter
BadRequest (400) API Verifiera indataformat
NotFound (404) API Kontrollera att resursen finns, uppdatera referenser
TriggerConditionNotMet Trigger Granska villkorsuttryck för utlösare
ActionTimedOut Tidsavbrott Öka tidsgränsen i åtgärdsinställningar
DuplicateActionName Designtid Byt namn på en av de duplicerade åtgärderna
MissingRequiredProperty Designtid Fyll i obligatoriska fält
ContentConversionFailed Runtime Använda explicita typkonverteringar
WorkflowRunActionRepetitionQuotaExceededed Begränsning Filtrera data före loopning
DirectApiAuthorizationRequired Licenser Tilldela premiumlicens till uppringaren
FlowRunQuotaExceeded Begränsning Optimera antal åtgärder, uppgradera licens
ConnectionAuthorizationFailed Anslutning Åtgärda anslutning, autentisera igen
OperationTimedOut Tidsavbrott Ange explicita tidsgränser, använd relämönster

Obs! Författaren skapade den här artikeln med hjälp av AI. Läs mer