Azure Data Factory Master Knowledge Base
Deprecated Features
Apache Airflow Workflow Orchestration Manager - DEPRECATED
Status: Deprecated since early 2025. Available only for existing customers.
Retirement Date: Not yet announced, but no new deployments permitted.
Impact: New customers cannot provision Apache Airflow in Azure Data Factory.
Deprecation Details:
- Apache Airflow Workflow Orchestration Manager is deprecated with no retirement date set
- Only existing deployments can continue using this feature
- No new Airflow integrations can be created in ADF
Migration Path:
- Recommended: Migrate to Fabric Data Factory with native Airflow support
- Alternative: Use standalone Apache Airflow deployments (Azure Container Instances, AKS, or VM-based)
- Alternative: Migrate orchestration logic to native ADF pipelines with control flow activities
Why Deprecated:
- Microsoft focus shifted to Fabric Data Factory as the unified data integration platform
- Fabric provides modern orchestration capabilities superseding Airflow integration
- Limited adoption and maintenance burden for standalone Airflow feature in ADF
Action Required:
- If using Airflow in ADF: Migrate to Fabric Data Factory, standalone Airflow, or native ADF patterns
- For new projects: Do NOT use Airflow in ADF
- Monitor Microsoft announcements for official retirement timeline
Reference:
Feature Updates (2025-2026)
Microsoft Fabric Integration (GA)
ADF Mounting in Fabric:
- Bring existing ADF pipelines into Fabric workspaces without rebuilding
- Generally Available since June 2025
- Seamless integration enables hybrid ADF + Fabric workflows
Cross-Workspace Pipeline Orchestration:
- New Invoke Pipeline activity supports cross-platform calls
- Invoke pipelines across Fabric, Azure Data Factory, and Synapse
- Managed VNet support for secure cross-workspace communication
Variable Libraries:
- Environment-specific variables for CI/CD automation
- Automatic value substitution during workspace promotion
- Eliminates separate parameter files per environment
Connector Enhancements:
- ServiceNow V2 (V1 End of Support)
- Enhanced PostgreSQL and Snowflake connectors
- Native OneLake connectivity for zero-copy integration
Node.js 20.x Requirement for CI/CD
CRITICAL: As of 2025, npm package @microsoft/azure-data-factory-utilities requires Node.js 20.x
Breaking Change:
- Older Node.js versions (14.x, 16.x, 18.x) may cause package incompatibility errors
- Update CI/CD pipelines to use Node.js 20.x or compatible versions
GitHub Actions:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
Azure DevOps:
- task: UseNode@1
inputs:
version: '20.x'
Official Documentation Sources
Primary Microsoft Learn Resources
Main Documentation Hub:
- URL: https://learn.microsoft.com/en-us/azure/data-factory/
- Last Updated: February 2025
- Coverage: Complete ADF documentation including tutorials, concepts, how-to guides, and reference materials
- Key Topics: Pipelines, datasets, triggers, linked services, data flows, integration runtimes, monitoring
Introduction to Azure Data Factory:
Context7 Library Documentation
Library ID: /websites/learn_microsoft_en-us_azure_data-factory
- Trust Score: 7.5
- Code Snippets: 10,839
- Topics: CI/CD, ARM templates, pipeline patterns, data flows, monitoring, troubleshooting
How to Access:
Use Context7 MCP tool to fetch latest documentation:
mcp__context7__get-library-docs:
- context7CompatibleLibraryID: /websites/learn_microsoft_en-us_azure_data-factory
- topic: "CI/CD continuous integration deployment pipelines ARM templates"
- tokens: 8000
CI/CD Deployment
Detailed CI/CD coverage — ARM template generation, the PrePostDeploymentScript.ps1 pattern (stop/start triggers around deploys, cleanup of removed resources), and complete GitHub Actions + Azure DevOps pipeline YAMLs — lives in references/cicd-deployment.md. Load that reference when wiring continuous deployment for an ADF instance or troubleshooting a deploy pipeline.
Troubleshooting Resources
Official Troubleshooting Guide
URL: https://learn.microsoft.com/en-us/azure/data-factory/ci-cd-github-troubleshoot-guide
Last Updated: January 2025
Common Issues Covered:
- Template parameter validation errors
- Integration Runtime type cannot be changed
- ARM template size exceeds 4MB limit
- Git connection problems
- Authentication failures
- Deployment errors
Diagnostic Logs
Enable Diagnostic Settings:
Azure Portal → Data Factory → Diagnostic settings → Add diagnostic setting
Send to: Log Analytics workspace
Logs to Enable:
- PipelineRuns
- TriggerRuns
- ActivityRuns
- SandboxPipelineRuns
- SandboxActivityRuns
Kusto Queries for Troubleshooting:
// Failed pipeline runs in last 24 hours
ADFPipelineRun
| where Status == "Failed"
| where TimeGenerated > ago(24h)
| project TimeGenerated, PipelineName, RunId, Status, ErrorMessage, Parameters
| order by TimeGenerated desc
// Failed CI/CD deployments
ADFActivityRun
| where ActivityType == "ExecutePipeline"
| where Status == "Failed"
| where TimeGenerated > ago(7d)
| project TimeGenerated, PipelineName, ActivityName, ErrorCode, ErrorMessage
| order by TimeGenerated desc
// Performance analysis
ADFActivityRun
| where TimeGenerated > ago(7d)
| extend DurationMinutes = datetime_diff('minute', End, Start)
| summarize AvgDuration = avg(DurationMinutes) by ActivityType, ActivityName
| where AvgDuration > 10
| order by AvgDuration desc
Common Error Patterns
Error: "Template parameters are not valid"
- Cause: Deleted triggers still referenced in parameters
- Solution: Regenerate ARM template or use PrePostDeploymentScript cleanup
Error: "Updating property type is not supported"
- Cause: Trying to change Integration Runtime type
- Solution: Delete and recreate IR (not in-place update)
Error: "Operation timed out"
- Cause: Network connectivity, large data volume, insufficient compute
- Solution: Increase timeout, optimize query, increase DIUs
Error: "Authentication failed"
- Cause: Service principal expired, missing permissions, wrong credentials
- Solution: Verify credentials, check role assignments, renew if expired
Best Practices
Repository Structure
Recommended Folder Layout:
repository-root/
├── adf-resources/ # ADF JSON files (if using npm approach)
│ ├── dataset/
│ ├── pipeline/
│ ├── trigger/
│ ├── linkedService/
│ └── integrationRuntime/
├── .github/
│ └── workflows/ # GitHub Actions workflows
│ ├── adf-build.yml
│ └── adf-deploy.yml
├── azure-pipelines/ # Azure DevOps pipelines
│ ├── build.yml
│ └── release.yml
├── parameters/ # Environment-specific parameters
│ ├── ARMTemplateParametersForFactory.dev.json
│ ├── ARMTemplateParametersForFactory.test.json
│ └── ARMTemplateParametersForFactory.prod.json
├── package.json # npm configuration
└── README.md
Git Configuration
Only Configure Git on Development ADF:
- Development: Git-integrated for source control
- Test: CI/CD deployment only (no Git)
- Production: CI/CD deployment only (no Git)
Rationale: Prevents accidental manual changes in higher environments
Multi-Environment Strategy
Environment Flow:
Dev (Git) → Build → Test → Approval → Production
↓
ARM Templates
Parameter Management:
- Separate parameter file per environment
- Store secrets in Azure Key Vault
- Reference Key Vault in parameter files
- Never commit secrets to source control
Monitoring and Alerting
Set up alerts for:
- Build pipeline failures
- Deployment failures
- Pipeline run failures
- Performance degradation
- Cost anomalies
Recommended Tools:
- Azure Monitor (Metrics and Alerts)
- Log Analytics (Kusto queries)
- Application Insights (for custom logging)
- Azure Advisor (optimization recommendations)
Additional Resources
GitHub Repositories
Official Azure Data Factory Samples:
Community Examples:
- Search GitHub for "azure-data-factory-cicd" for real-world examples
- Many organizations publish their CI/CD patterns as reference
Community Support
Microsoft Q&A:
Stack Overflow:
- Tag:
azure-data-factory
- Large knowledge base of resolved issues
Azure Status:
When to Fetch Latest Information
Situations requiring current documentation:
- npm package version updates
- New ADF features or activities
- Changes to ARM template schema
- Updates to PrePostDeploymentScript
- New GitHub Actions or Azure DevOps tasks
- Breaking changes or deprecations
How to Fetch:
- Use WebFetch for Microsoft Learn articles
- Check npm for latest package version
- Use Context7 for comprehensive topic coverage
- Review Azure Data Factory GitHub for script updates
This knowledge base should be your starting point for all Azure Data Factory questions. Always verify critical information with the latest official documentation when making production decisions.
Progressive Disclosure References
For detailed JSON schemas and complete reference materials, see:
- Activity Types:
references/activity-types.md - Complete JSON schemas for all activity types (Copy, ForEach, IfCondition, Switch, Until, Lookup, ExecutePipeline, WebActivity, DatabricksJob, SetVariable, AppendVariable, Wait, Fail, GetMetadata)
- Expression Functions:
references/expression-functions.md - Complete reference for all ADF expression functions (string, collection, logical, conversion, math, date/time, pipeline/activity references)
- Linked Services:
references/linked-services.md - Complete JSON configurations for all connector types (Blob Storage, ADLS Gen2, Azure SQL, Synapse, Fabric Lakehouse/Warehouse, Databricks, Key Vault, REST, SFTP, Snowflake, PostgreSQL)
- Triggers:
references/triggers.md - Complete JSON schemas for schedule, tumbling window, and event triggers
- Datasets:
references/datasets.md - Complete JSON schemas for all dataset types with parameterization patterns
For machine learning and analytics patterns, see the dedicated skill:
- ML & Analytics:
adf-master:adf-ml-analytics - Azure ML pipelines, batch endpoints, Azure AI Services, Databricks ML/MLflow, SQL-to-Storage archival, feature engineering with Data Flows
1---2name: adf-master3description: Azure Data Factory (ADF) CI/CD, deployment, and pipeline development. PROACTIVELY activate for: (1) ADF CI/CD setup (npm validation, ARM template export), (2) ADF ARM template deployment, (3) ADF npm build validation in CI, (4) PrePostDeploymentScript for trigger and resource cleanup, (5) ADF GitHub Actions workflows, (6) ADF Azure DevOps pipelines, (7) ADF Git integration (collaboration vs publish branch), (8) parameterizing linked services and datasets across environments, (9) ADF triggers (schedule, tumbling window, event), (10) deployment slots and blue-green for ADF. Provides: complete CI/CD YAML for GitHub Actions and Azure DevOps, PrePostDeploymentScript reference, parameterization patterns, and trigger management recipes.4---5
6# Azure Data Factory Master Knowledge Base
7
8## Deprecated Features
9
10### Apache Airflow Workflow Orchestration Manager - DEPRECATED
11
12**Status:** Deprecated since early 2025. Available only for existing customers.
13**Retirement Date:** Not yet announced, but no new deployments permitted.
14**Impact:** New customers cannot provision Apache Airflow in Azure Data Factory.
15
16**Deprecation Details:**
17- Apache Airflow Workflow Orchestration Manager is deprecated with no retirement date set
18- Only existing deployments can continue using this feature
19- No new Airflow integrations can be created in ADF
20
21**Migration Path:**
22- **Recommended:** Migrate to Fabric Data Factory with native Airflow support
23- **Alternative:** Use standalone Apache Airflow deployments (Azure Container Instances, AKS, or VM-based)
24- **Alternative:** Migrate orchestration logic to native ADF pipelines with control flow activities
25
26**Why Deprecated:**
27- Microsoft focus shifted to Fabric Data Factory as the unified data integration platform
28- Fabric provides modern orchestration capabilities superseding Airflow integration
29- Limited adoption and maintenance burden for standalone Airflow feature in ADF
30
31**Action Required:**
32- If using Airflow in ADF: Migrate to Fabric Data Factory, standalone Airflow, or native ADF patterns
33- For new projects: Do NOT use Airflow in ADF
34- Monitor Microsoft announcements for official retirement timeline
35
36**Reference:**
37- Microsoft Roadmap: https://www.directionsonmicrosoft.com/roadmaps/ref/azure-data-factory-roadmap/
38
39## Feature Updates (2025-2026)
40
41### Microsoft Fabric Integration (GA)
42
43**ADF Mounting in Fabric:**
44- Bring existing ADF pipelines into Fabric workspaces without rebuilding
45- Generally Available since June 2025
46- Seamless integration enables hybrid ADF + Fabric workflows
47
48**Cross-Workspace Pipeline Orchestration:**
49- New **Invoke Pipeline** activity supports cross-platform calls
50- Invoke pipelines across Fabric, Azure Data Factory, and Synapse
51- Managed VNet support for secure cross-workspace communication
52
53**Variable Libraries:**
54- Environment-specific variables for CI/CD automation
55- Automatic value substitution during workspace promotion
56- Eliminates separate parameter files per environment
57
58**Connector Enhancements:**
59- ServiceNow V2 (V1 End of Support)
60- Enhanced PostgreSQL and Snowflake connectors
61- Native OneLake connectivity for zero-copy integration
62
63### Node.js 20.x Requirement for CI/CD
64
65**CRITICAL:** As of 2025, npm package `@microsoft/azure-data-factory-utilities` requires Node.js 20.x
66
67**Breaking Change:**
68- Older Node.js versions (14.x, 16.x, 18.x) may cause package incompatibility errors
69- Update CI/CD pipelines to use Node.js 20.x or compatible versions
70
71**GitHub Actions:**
72```yaml
73- name: Setup Node.js
74 uses: actions/setup-node@v4
75 with:
76 node-version: '20.x'
77```
78
79**Azure DevOps:**
80```yaml
81- task: UseNode@1
82 inputs:
83 version: '20.x'
84```
85
86## Official Documentation Sources
87
88### Primary Microsoft Learn Resources
89
90**Main Documentation Hub:**
91- URL: https://learn.microsoft.com/en-us/azure/data-factory/
92- Last Updated: February 2025
93- Coverage: Complete ADF documentation including tutorials, concepts, how-to guides, and reference materials
94- Key Topics: Pipelines, datasets, triggers, linked services, data flows, integration runtimes, monitoring
95
96**Introduction to Azure Data Factory:**
97- URL: https://learn.microsoft.com/en-us/azure/data-factory/introduction
98- Summary: Managed cloud service for complex hybrid ETL, ELT, and data integration projects
99- Key Features: 90+ built-in connectors, serverless architecture, code-free UI, single-pane monitoring
100
101### Context7 Library Documentation
102
103**Library ID:** `/websites/learn_microsoft_en-us_azure_data-factory`
104- Trust Score: 7.5
105- Code Snippets: 10,839
106- Topics: CI/CD, ARM templates, pipeline patterns, data flows, monitoring, troubleshooting
107
108**How to Access:**
109```text
110Use Context7 MCP tool to fetch latest documentation:
111mcp__context7__get-library-docs:
112 - context7CompatibleLibraryID: /websites/learn_microsoft_en-us_azure_data-factory
113 - topic: "CI/CD continuous integration deployment pipelines ARM templates"
114 - tokens: 8000
115```
116
117## CI/CD Deployment
118
119Detailed CI/CD coverage — ARM template generation, the `PrePostDeploymentScript.ps1` pattern (stop/start triggers around deploys, cleanup of removed resources), and complete GitHub Actions + Azure DevOps pipeline YAMLs — lives in `references/cicd-deployment.md`. Load that reference when wiring continuous deployment for an ADF instance or troubleshooting a deploy pipeline.
120
121## Troubleshooting Resources
122
123### Official Troubleshooting Guide
124
125**URL:** https://learn.microsoft.com/en-us/azure/data-factory/ci-cd-github-troubleshoot-guide
126**Last Updated:** January 2025
127
128**Common Issues Covered:**
1291. Template parameter validation errors
1302. Integration Runtime type cannot be changed
1313. ARM template size exceeds 4MB limit
1324. Git connection problems
1335. Authentication failures
1346. Deployment errors
135
136### Diagnostic Logs
137
138**Enable Diagnostic Settings:**
139```text
140Azure Portal → Data Factory → Diagnostic settings → Add diagnostic setting
141Send to: Log Analytics workspace
142
143Logs to Enable:
144- PipelineRuns
145- TriggerRuns
146- ActivityRuns
147- SandboxPipelineRuns
148- SandboxActivityRuns
149```
150
151**Kusto Queries for Troubleshooting:**
152
153```kusto
154// Failed pipeline runs in last 24 hours
155ADFPipelineRun
156| where Status == "Failed"
157| where TimeGenerated > ago(24h)
158| project TimeGenerated, PipelineName, RunId, Status, ErrorMessage, Parameters
159| order by TimeGenerated desc
160
161// Failed CI/CD deployments
162ADFActivityRun
163| where ActivityType == "ExecutePipeline"
164| where Status == "Failed"
165| where TimeGenerated > ago(7d)
166| project TimeGenerated, PipelineName, ActivityName, ErrorCode, ErrorMessage
167| order by TimeGenerated desc
168
169// Performance analysis
170ADFActivityRun
171| where TimeGenerated > ago(7d)
172| extend DurationMinutes = datetime_diff('minute', End, Start)
173| summarize AvgDuration = avg(DurationMinutes) by ActivityType, ActivityName
174| where AvgDuration > 10
175| order by AvgDuration desc
176```
177
178### Common Error Patterns
179
180**Error: "Template parameters are not valid"**
181- Cause: Deleted triggers still referenced in parameters
182- Solution: Regenerate ARM template or use PrePostDeploymentScript cleanup
183
184**Error: "Updating property type is not supported"**
185- Cause: Trying to change Integration Runtime type
186- Solution: Delete and recreate IR (not in-place update)
187
188**Error: "Operation timed out"**
189- Cause: Network connectivity, large data volume, insufficient compute
190- Solution: Increase timeout, optimize query, increase DIUs
191
192**Error: "Authentication failed"**
193- Cause: Service principal expired, missing permissions, wrong credentials
194- Solution: Verify credentials, check role assignments, renew if expired
195
196## Best Practices
197
198### Repository Structure
199
200**Recommended Folder Layout:**
201```text
202repository-root/
203├── adf-resources/ # ADF JSON files (if using npm approach)
204│ ├── dataset/
205│ ├── pipeline/
206│ ├── trigger/
207│ ├── linkedService/
208│ └── integrationRuntime/
209├── .github/
210│ └── workflows/ # GitHub Actions workflows
211│ ├── adf-build.yml
212│ └── adf-deploy.yml
213├── azure-pipelines/ # Azure DevOps pipelines
214│ ├── build.yml
215│ └── release.yml
216├── parameters/ # Environment-specific parameters
217│ ├── ARMTemplateParametersForFactory.dev.json
218│ ├── ARMTemplateParametersForFactory.test.json
219│ └── ARMTemplateParametersForFactory.prod.json
220├── package.json # npm configuration
221└── README.md
222```
223
224### Git Configuration
225
226**Only Configure Git on Development ADF:**
227- Development: Git-integrated for source control
228- Test: CI/CD deployment only (no Git)
229- Production: CI/CD deployment only (no Git)
230
231**Rationale:** Prevents accidental manual changes in higher environments
232
233### Multi-Environment Strategy
234
235```text
236Environment Flow:
237Dev (Git) → Build → Test → Approval → Production
238 ↓
239 ARM Templates
240```
241
242**Parameter Management:**
243- Separate parameter file per environment
244- Store secrets in Azure Key Vault
245- Reference Key Vault in parameter files
246- Never commit secrets to source control
247
248### Monitoring and Alerting
249
250**Set up alerts for:**
251- Build pipeline failures
252- Deployment failures
253- Pipeline run failures
254- Performance degradation
255- Cost anomalies
256
257**Recommended Tools:**
258- Azure Monitor (Metrics and Alerts)
259- Log Analytics (Kusto queries)
260- Application Insights (for custom logging)
261- Azure Advisor (optimization recommendations)
262
263## Additional Resources
264
265### GitHub Repositories
266
267**Official Azure Data Factory Samples:**
268- URL: https://github.com/Azure/Azure-DataFactory
269- Path: SamplesV2/ContinuousIntegrationAndDelivery/
270- Contents: PrePostDeploymentScript.Ver2.ps1, example pipelines, documentation
271
272**Community Examples:**
273- Search GitHub for "azure-data-factory-cicd" for real-world examples
274- Many organizations publish their CI/CD patterns as reference
275
276### Community Support
277
278**Microsoft Q&A:**
279- URL: https://learn.microsoft.com/en-us/answers/tags/130/azure-data-factory
280- Active community, Microsoft employees respond
281
282**Stack Overflow:**
283- Tag: `azure-data-factory`
284- Large knowledge base of resolved issues
285
286**Azure Status:**
287- URL: https://status.azure.com
288- Check for service outages and incidents
289
290## When to Fetch Latest Information
291
292**Situations requiring current documentation:**
2931. npm package version updates
2942. New ADF features or activities
2953. Changes to ARM template schema
2964. Updates to PrePostDeploymentScript
2975. New GitHub Actions or Azure DevOps tasks
2986. Breaking changes or deprecations
299
300**How to Fetch:**
301- Use WebFetch for Microsoft Learn articles
302- Check npm for latest package version
303- Use Context7 for comprehensive topic coverage
304- Review Azure Data Factory GitHub for script updates
305
306This knowledge base should be your starting point for all Azure Data Factory questions. Always verify critical information with the latest official documentation when making production decisions.
307
308## Progressive Disclosure References
309
310For detailed JSON schemas and complete reference materials, see:
311
312- **Activity Types**: `references/activity-types.md` - Complete JSON schemas for all activity types (Copy, ForEach, IfCondition, Switch, Until, Lookup, ExecutePipeline, WebActivity, DatabricksJob, SetVariable, AppendVariable, Wait, Fail, GetMetadata)
313- **Expression Functions**: `references/expression-functions.md` - Complete reference for all ADF expression functions (string, collection, logical, conversion, math, date/time, pipeline/activity references)
314- **Linked Services**: `references/linked-services.md` - Complete JSON configurations for all connector types (Blob Storage, ADLS Gen2, Azure SQL, Synapse, Fabric Lakehouse/Warehouse, Databricks, Key Vault, REST, SFTP, Snowflake, PostgreSQL)
315- **Triggers**: `references/triggers.md` - Complete JSON schemas for schedule, tumbling window, and event triggers
316- **Datasets**: `references/datasets.md` - Complete JSON schemas for all dataset types with parameterization patterns
317
318For machine learning and analytics patterns, see the dedicated skill:
319- **ML & Analytics**: `adf-master:adf-ml-analytics` - Azure ML pipelines, batch endpoints, Azure AI Services, Databricks ML/MLflow, SQL-to-Storage archival, feature engineering with Data Flows