Key ADF Features for Row-Level Fault Tolerance
-
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.
-
-
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
-
-
-
Retry Policies
-
Copy activity has built-in retry policies with exponential backoff for transient errors.
-
Helpful when Dataverse throttles or API timeouts happen.
-
-
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
Post a Comment