Key ADF Features for Row-Level Fault Tolerance

 


  1. Fault Tolerance in Copy Activity

    • You can configure Skip incompatible rows or Redirect rows with errors into a separate log/sink (like Blob or SQL).

    • This allows you to capture failed records without breaking the entire batch.

  2. Mapping Data Flows – Error Row Handling

    • Data Flows allow “Error Row Handling”, so you can redirect specific problematic rows (e.g., invalid GUID, missing lookup) to a quarantine table.

    • Example:

      • Valid rows → Dataverse

      • Invalid rows → Error table with reason

  3. Retry Policies

    • Copy activity has built-in retry policies with exponential backoff for transient errors.

    • Helpful when Dataverse throttles or API timeouts happen.

  4. Logging & Monitoring

    • ADF can now output error details (like column name, error code, error description) to another sink.

    • This is row-level granularity for diagnostics.


🔹 So Why Use Logic Apps Then?

Even though ADF now supports row-level fault tolerance, Logic Apps still makes sense in scenarios like:

  • Complex branching/business rules (e.g., conditional routing, multiple Dataverse tables, related lookups).

  • Fine-grained API control (Dataverse throttling management with adaptive pacing).

  • Event-driven workflows (send Teams notifications, trigger Power Automate, call 3rd party APIs).

  • Per-record Dataverse actions beyond simple insert/update (e.g., trigger a plugin, send approval).


🔹 Updated View

  • ADF Only → Best when:

    • Large volumes of clean data.

    • You need speed + row-level error capture is “good enough.”

  • ADF + Logic Apps → Best when:

    • Complex transformations, lookups, business rules.

    • Need for API throttling control beyond ADF’s retry.

    • Integration with other Azure/M365 services.


👉 So, ADF has definitely closed the gap on error handling — meaning in many migration scenarios you no longer need Logic Apps just for row-level fault tolerance. But if your scenario goes beyond “data movement” into “workflow orchestration,” Logic Apps still adds value.

Do you want me to draw up a decision tree flow (ADF only vs ADF+Logic Apps) so you can quickly decide which pattern to use in a given project?

Comments

Popular posts from this blog

🔍 Dataverse + Azure Integration: Choosing Between Synapse Link and Microsoft Fabric

⚡ Example: Rate Limiting in Azure API Management

👤 Anonymous Role in Power Pages – What It Is and When to Use It