Felsöka dirigering av pipelines och utlösare i Azure Data FactoryTroubleshoot pipeline orchestration and triggers in Azure Data Factory

gäller för: Azure Data Factory Azure Synapse Analytics

En pipelinekörning i Azure Data Factory definierar en instans av en pipeline-åtgärd.A pipeline run in Azure Data Factory defines an instance of a pipeline execution. Anta till exempel att du har en pipeline som körs kl. 8:00, 9:00 AM och 10:00.For example, let's say you have a pipeline that runs at 8:00 AM, 9:00 AM, and 10:00 AM. I det här fallet finns det tre separata pipeline-körningar.In this case, there are three separate pipeline runs. Varje pipelinekörning har ett unikt pipelinekörnings-ID.Each pipeline run has a unique pipeline run ID. Ett körnings-ID är en globalt unik identifierare (GUID) som definierar den specifika pipeline-körningen.A run ID is a globally unique identifier (GUID) that defines that particular pipeline run.

Pipelinekörningar instansieras normalt genom att skicka argument till parametrar som du definierar i pipelinen.Pipeline runs are typically instantiated by passing arguments to parameters that you define in the pipeline. Du kan köra en pipeline antingen manuellt eller genom att använda en utlösare.You can run a pipeline either manually or by using a trigger. Mer information finns i pipeline-körning och utlösare i Azure Data Factory .See Pipeline execution and triggers in Azure Data Factory for details.

Vanliga problem, orsaker och lösningarCommon issues, causes, and solutions

En Azure Functions app-pipeline genererar ett fel med anslutning till privat slut punktAn Azure Functions app pipeline throws an error with private endpoint connectivity

Du har Data Factory och en Azure Function-app som körs på en privat slut punkt.You have Data Factory and an Azure function app running on a private endpoint. Du försöker köra en pipeline som samverkar med Function-appen.You're trying to run a pipeline that interacts with the function app. Du har provat tre olika metoder, men ett returnerar fel "felaktig begäran", och de andra två metoderna returnerar "103-fel förbjuden".You've tried three different methods, but one returns error "Bad Request," and the other two methods return "103 Error Forbidden."

OrsakCause

Data Factory har för närvarande inte stöd för en privat slut punkts koppling för Function-appar.Data Factory currently doesn't support a private endpoint connector for function apps. Azure Functions avvisar anrop eftersom det har kon figurer ATS för att endast tillåta anslutningar från en privat länk.Azure Functions rejects calls because it's configured to allow only connections from a private link.

LösningResolution

Skapa en PrivateLinkService -slutpunkt och ange din Function-appens DNS.Create a PrivateLinkService endpoint and provide your function app's DNS.

En pipeline-körning avbryts men övervakaren visar fortfarande förlopps statusA pipeline run is canceled but the monitor still shows progress status

OrsakCause

När du avbryter en pipeline-körning visar pipelinen ofta fortfarande status för förloppet.When you cancel a pipeline run, pipeline monitoring often still shows the progress status. Detta inträffar på grund av ett problem med webbläsarens cacheminne.This happens because of a browser cache issue. Du kanske inte har rätt övervaknings filter.You also might not have the correct monitoring filters.

LösningResolution

Uppdatera webbläsaren och tillämpa rätt övervaknings filter.Refresh the browser and apply the correct monitoring filters.

Du ser ett "DelimitedTextMoreColumnsThanDefined"-fel när du kopierar en pipelineYou see a "DelimitedTextMoreColumnsThanDefined" error when copying a pipeline

OrsakCause

Om en mapp som du kopierar innehåller filer med olika scheman, t. ex. variabel antal kolumner, olika avgränsare, citat teckens inställningar eller vissa data problem kan Data Factory pipelinen leda till det här felet:If a folder you're copying contains files with different schemas, such as variable number of columns, different delimiters, quote char settings, or some data issue, the Data Factory pipeline might throw this error:

Operation on target Copy_sks failed: Failure happened on 'Sink' side. ErrorCode=DelimitedTextMoreColumnsThanDefined, 'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message=Error found when processing 'Csv/Tsv Format Text' source '0_2020_11_09_11_43_32.avro' with row number 53: found more columns than expected column count 27., Source=Microsoft.DataTransfer.Common,'

LösningResolution

Välj alternativet för binär kopia när du skapar kopierings aktiviteten.Select the Binary Copy option while creating the Copy activity. På så sätt kan du, för Mass kopiering eller migrering av data från ett data Lake till ett annat, Data Factory inte öppna filerna för att läsa schemat.This way, for bulk copies or migrating your data from one data lake to another, Data Factory won't open the files to read the schema. I stället behandlar Data Factory varje fil som binär och kopierar den till den andra platsen.Instead, Data Factory will treat each file as binary and copy it to the other location.

En pipeline-körning fungerar inte när du når kapacitets gränsen för integrerings körningen för data flödetA pipeline run fails when you reach the capacity limit of the integration runtime for data flow

ProblemIssue

Felmeddelande:Error message:

Type=Microsoft.DataTransfer.Execution.Core.ExecutionException,Message=There are substantial concurrent MappingDataflow executions which is causing failures due to throttling under Integration Runtime 'AutoResolveIntegrationRuntime'.

OrsakCause

Du har nått kapacitets gränsen för integration Runtime.You've reached the integration runtime's capacity limit. Du kanske kör en stor mängd data flöde genom att använda samma integration runtime på samma gång.You might be running a large amount of data flow by using the same integration runtime at the same time. Se Azure-prenumeration och tjänst begränsningar, kvoter och begränsningar för mer information.See Azure subscription and service limits, quotas, and constraints for details.

LösningResolution

  • Kör dina pipelines vid olika utlösnings tider.Run your pipelines at different trigger times.
  • Skapa en ny integrerings körning och dela dina pipeliner över flera integrerings körningar.Create a new integration runtime, and split your pipelines across multiple integration runtimes.

Ett fel i pipeline-körning när REST API anropas i en webb aktivitetA pipeline run error while invoking REST api in a Web activity

ProblemIssue

Felmeddelande:Error message:

Operation on target Cancel failed: {“error”:{“code”:”AuthorizationFailed”,”message”:”The client ‘<client>’ with object id ‘<object>’ does not have authorization to perform action ‘Microsoft.DataFactory/factories/pipelineruns/cancel/action’ over scope ‘/subscriptions/<subscription>/resourceGroups/<resource group>/providers/Microsoft.DataFactory/factories/<data factory name>/pipelineruns/<pipeline run id>’ or the scope is invalid. If access was recently granted, please refresh your credentials.”}}

OrsakCause

Pipelines kan använda webb aktiviteten för att anropa ADF-REST API metoder om och bara om den Azure Data Factory medlemmen har tilldelats rollen deltagare.Pipelines may use the Web activity to call ADF REST API methods if and only if the Azure Data Factory member is assigned the Contributor role. Du måste först konfigurera Lägg till Azure Data Factory hanterade identiteten i deltagar säkerhets rollen.You must first configure add the Azure Data Factory managed identity to the Contributor security role.

LösningResolution

Innan du använder Azure Data Factory REST API på fliken Inställningar för en webb aktivitet måste du konfigurera säkerheten.Before using the Azure Data Factory’s REST API in a Web activity’s Settings tab, security must be configured. Azure Data Factory pipelines kan använda webb aktiviteten för att anropa ADF REST API metoder om och endast om den Azure Data Factory hanterade identiteten har tilldelats rollen deltagare .Azure Data Factory pipelines may use the Web activity to call ADF REST API methods if and only if the Azure Data Factory managed identity is assigned the Contributor role. Börja med att öppna Azure Portal och klicka på länken alla resurser på den vänstra menyn.Begin by opening the Azure portal and clicking the All resources link on the left menu. Välj Azure Data Factory för att lägga till ADF-hanterad identitet med deltagar rollen genom att klicka på knappen Lägg till i rutan Lägg till en roll tilldelning .Select Azure Data Factory to add ADF managed identity with Contributor role by clicking the Add button in the Add a role assignment box.

Så här kontrollerar och grenar du på aktivitets nivåns framgångar och fel i pipelinesHow to check and branch on activity-level success and failure in pipelines

OrsakCause

Azure Data Factory Orchestration tillåter villkorlig logik och gör det möjligt för användarna att ta olika sökvägar baserat på resultatet av en tidigare aktivitet.Azure Data Factory orchestration allows conditional logic and enables users to take different paths based upon the outcome of a previous activity. Det tillåter fyra villkorliga sökvägar: när det är klart (standard pass) vid haverining , och vid hoppa över.It allows four conditional paths: Upon Success (default pass), Upon Failure, Upon Completion, and Upon Skip.

Azure Data Factory utvärderar resultatet av alla aktiviteter på lövnivå.Azure Data Factory evaluates the outcome of all leaf-level activities. Pipeline-resultat fungerar bara om alla löv lyckas.Pipeline results are successful only if all leaves succeed. Om en löv aktivitet hoppades över, utvärderar vi dess överordnade aktivitet i stället.If a leaf activity was skipped, we evaluate its parent activity instead.

LösningResolution

Så här övervakar du fel i pipelinen med jämna mellanrumHow to monitor pipeline failures in regular intervals

OrsakCause

Du kan behöva övervaka misslyckade Data Factory pipeliner i intervall, på 5 minuter.You might need to monitor failed Data Factory pipelines in intervals, say 5 minutes. Du kan fråga efter och filtrera pipelinen som körs från en data fabrik med hjälp av slut punkten.You can query and filter the pipeline runs from a data factory by using the endpoint.

LösningResolution

Graden av Parallel-ökning resulterar inte i högre data flödeDegree of parallelism increase does not result in higher throughput

OrsakCause

Graden av parallellitet är i själva verket den högsta graden av parallellitet.The degree of parallelism in ForEach is actually max degree of parallelism. Vi kan inte garantera att ett angivet antal körningar sker samtidigt, men den här parametern garanterar att vi aldrig hamnar ovanför det angivna värdet.We cannot guarantee a specific number of executions happening at the same time, but this parameter will guarantee that we never go above the value that was set. Du bör se detta som en gräns för att utnyttjas när du styr samtidig åtkomst till dina källor och mottagare.You should see this as a limit, to be leveraged when controlling concurrent access to your sources and sinks.

Kända fakta om FörkunskapKnown Facts about ForEach

  • I förvars egenskap kallas batch Count (n), där standardvärdet är 20 och Max värdet är 50.Foreach has a property called batch count(n) where default value is 20 and the max is 50.
  • Batch Count, n, används för att konstruera n köer.The batch count, n, is used to construct n queues.
  • Varje kö körs sekventiellt, men du kan ha flera köer som körs parallellt.Every queue runs sequentially, but you can have several queues running in parallel.
  • Köerna skapas i förväg.The queues are pre-created. Det innebär att det inte finns någon ombalansering av köerna under körningen.This means there is no rebalancing of the queues during the runtime.
  • När som helst har du minst ett objekt som ska bearbetas per kö.At any time, you have at most one item being process per queue. Det innebär att de flesta n objekt bearbetas vid en bestämd tidpunkt.This means at most n items being processed at any given time.
  • Den totala bearbetnings tiden motsvarar bearbetnings tiden för den längsta kön.The foreach total processing time is equal to the processing time of the longest queue. Det innebär att den förgrunds aktiviteten är beroende av hur köerna konstrueras.This means that the foreach activity depends on how the queues are constructed.

LösningResolution

  • Du bör inte använda SetVariable -aktivitet i för varje som körs parallellt.You should not use SetVariable activity inside For Each that runs in parallel.
  • Med hänsyn till hur köerna är konstruerade kan kunden förbättra prestanda genom att ställa in multiplar av förvars redovisning där varje förvars behandling ska ha objekt med liknande bearbetnings tid.Taking in consideration the way the queues are constructed, customer can improve the foreach performance by setting multiples of foreach where each foreach will have items with similar processing time.
  • Detta säkerställer att långvariga körningar bearbetas parallellt i stället i tur och ordning.This will ensure that long runs are processed in parallel rather sequentially.

Pipeline-status är i kö eller fastnar under en längre tidPipeline status is queued or stuck for a long time

OrsakCause

Detta kan inträffa av olika orsaker, t. ex. När det gäller samtidiga samtidighets gränser, avbrott i tjänsten, nätverks haverier och så vidare.This can happen for various reasons like hitting concurrency limits, service outages, network failures and so on.

LösningResolution

  • Samtidiga gränser: om din pipeline har en concurrency-princip kontrollerar du att det inte finns några gamla pipelines-körningar.Concurrency Limit: If your pipeline has a concurrency policy, verify that there are no old pipeline runs in progress. Den maximala pipeline-samtidigheten som tillåts i Azure Data Factory är 10 pipelines.The maximum pipeline concurrency allowed in Azure Data Factory is 10 pipelines .
  • Övervaknings gränser: gå till arbets ytan för ADF-redigering, välj din pipeline och ta reda på om den har tilldelats en concurrency-egenskap.Monitoring limits: Go to the ADF authoring canvas, select your pipeline, and determine if it has a concurrency property assigned to it. I så fall går du till övervakningsvyn och kontrollerar att ingenting pågår från de senaste 45 dagarna.If it does, go to the Monitoring view, and make sure there's nothing in the past 45 days that's in progress. Om något pågår kan du avbryta det och den nya pipeline-körningen ska starta.If there is something in progress, you can cancel it and the new pipeline run should start.
  • Tillfälliga problem: det är möjligt att din körning påverkades av ett tillfälligt nätverks problem, auktoriseringsfel, drifts avbrott och tjänster. I så fall har Azure Data Factory en intern återställnings process som övervakar alla körningar och startar dem när ett meddelande om att något har gått fel.Transient Issues: It is possible that your run was impacted by a transient network issue, credential failures, services outages etc. If this happens, Azure Data Factory has an internal recovery process that monitors all the runs and starts them when it notices something went wrong. Den här processen sker var 1: a timme, så om din körning har fastnat i mer än en timme skapar du ett support ärende.This process happens every one hour, so if your run is stuck for more than an hour, create a support case.

Längre start tider för aktiviteter i ADF-kopiering och data flödeLonger start up times for activities in ADF Copy and Data Flow

OrsakCause

Detta kan inträffa om du inte har implementerat Time to Live-funktionen för data flöde eller optimerade SHIR.This can happen if you have not implemented time to live feature for Data Flow or optimized SHIR.

LösningResolution

  • Om varje enskild kopieringsaktivitet tar upp till två minuter att starta och problemet huvudsakligen inträffar med en VNet-anslutning (kontra Azure IR) kan det röra sig om ett problem med kopieringsprestanda.If each copy activity is taking up to 2 minutes to start, and the problem occurs primarily on a VNet join (vs. Azure IR), this can be a copy performance issue. Om du vill se fel söknings stegen går du till Kopiera prestanda förbättring.To review troubleshooting steps, go to Copy Performance Improvement.
  • Du kan använda Time to Live-funktionen för att minska kluster start tiden för data flödes aktiviteter.You can use time to live feature to decrease cluster start up time for data flow activities. Granska integration runtime för data flöde.Please review Data Flow Integration Runtime.

Träffar på kapacitets problem i SHIR (egen värd Integration Runtime)Hitting capacity issues in SHIR(Self Hosted Integration Runtime)

OrsakCause

Detta kan inträffa om du inte har skalat upp SHIR per arbets belastning.This can happen if you have not scaled up SHIR as per your workload.

LösningResolution

  • Om du stöter på ett kapacitets problem från SHIR ska du uppgradera den virtuella datorn för att öka noden för att utjämna aktiviteterna.If you encounter a capacity issue from SHIR, upgrade the VM to increase the node to balance the activities. Om du får ett fel meddelande om ett allmänt underordnat IR-fel eller fel, en IR-uppgradering med egen värd eller problem med IR-anslutning med egen värd, som kan generera en lång kö, går du till Felsöka integration runtime med egen värd.If you receive an error message about a self-hosted IR general failure or error, a self-hosted IR upgrade, or self-hosted IR connectivity issues, which can generate a long queue, go to Troubleshoot self-hosted integration runtime.

Fel meddelanden på grund av långa köer för ADF-kopiering och data flödeError messages due to long queues for ADF Copy and Data Flow

OrsakCause

Fel meddelanden om långa köer kan visas av olika orsaker.Long queue related error messages can appear for various reasons.

LösningResolution

Nästa stegNext steps

Om du vill ha mer fel söknings hjälp kan du prova följande resurser:For more troubleshooting help, try these resources: