Welcome to the azure.datafactory.tools documentation. This guide covers everything from installation to advanced deployment scenarios.
New to the module? Start here:
- Getting Started - Installation, requirements, and your first deployment
Learn how the deployment process works step-by-step, from loading files to restarting triggers.
Control which objects get deployed using includes/excludes patterns and templates.
Replace environment-specific values (connection strings, URLs, etc.) using CSV or JSON config files.
Advanced deployment scenarios with complex trigger management and safety considerations.
Speed up CI/CD by deploying only changed objects (60-90% faster).
Validate ADF code before deployment with Test-AdfCode.
Auto-generate Mermaid diagrams showing object relationships and dependencies.
Automate testing of linked service connectivity with Test-AdfLinkedServiceConnection.
Convert ADF code to ARM templates for infrastructure-as-code deployments.
Build multi-stage CI/CD pipelines with approval gates and environment promotions.
Complete reference of all PowerShell cmdlets and configuration options.
| Goal | Documentation |
|---|---|
| Deploy ADF for the first time | Getting Started → Publishing Workflow |
| Deploy only specific objects | Publish Options |
| Use different values per environment | Configuration & Stages |
| Speed up deployments | Incremental Deployment |
| Validate code before deploy | Build & Test |
| Understand what will deploy | Generate Dependencies |
| Test connections automatically | Test Linked Services |
| Automate in Azure DevOps | DevOps Integration |
| View all functions/options | Cmdlet Reference |
Import-Module azure.datafactory.tools
# 1. Validate code
$errors = Test-AdfCode -RootFolder 'c:\MyADF'
if ($errors -gt 0) { exit 1 }
# 2. Deploy with prod configuration
Publish-AdfV2FromJson `
-RootFolder 'c:\MyADF' `
-ResourceGroupName 'rg-prod' `
-DataFactoryName 'adf-prod' `
-Location 'NorthEurope' `
-Stage 'PROD'$opt = New-AdfPublishOption
$opt.Includes.Add('pipeline.*', '') # Include only pipelines
$opt.DeleteNotInSource = $false
Publish-AdfV2FromJson -Option $opt ...See: Publish Options
$opt = New-AdfPublishOption
$opt.IncrementalDeployment = $true
$opt.IncrementalDeploymentStorageUri = 'https://storage.../path'
Publish-AdfV2FromJson -Option $opt ...# See: Azure DevOps Integration
stages:
- stage: Validate
- stage: DeployDev
- stage: DeployProd
environment: Production # Approval gatedocs/
README.md # This file
GETTING_STARTED.md # Installation & quick start
GUIDE/
PUBLISHING.md # Core workflow
PUBLISH_OPTIONS.md # Filtering & includes/excludes
CONFIGURATION.md # Environment values, stages, config files
SELECTIVE_DEPLOYMENT.md # Advanced trigger logic, safety
INCREMENTAL_DEPLOYMENT.md # Change detection, speed optimization
FEATURES/
BUILD_AND_TEST.md # Code validation
DEPENDENCIES_DIAGRAM.md # Mermaid diagram generation
LINKED_SERVICE_TESTING.md # Connection testing
ARM_TEMPLATE.md # ARM template export/deploy
ADVANCED/
DEVOPS_INTEGRATION.md # CI/CD pipelines, Azure DevOps
API_REFERENCE.md # Complete cmdlet reference
- Module Source: PowerShell Gallery
- GitHub Issues: Report a bug or request feature
- Blog: azureplayer.net
ADF contains different object types: pipelines, datasets, linked services, triggers, data flows, integration runtimes, etc.
The module automatically determines the correct deployment order based on object dependencies.
Use CSV or JSON files to replace environment-specific values without modifying source code.
Control deployment behavior: what gets deployed, whether triggers are managed, whether objects are deleted.
Speeds up deployments by tracking object hashes and deploying only changes.
- Getting started? → Getting Started
- How does deployment work? → Publishing Workflow
- Want to filter objects? → Publish Options
- Environment-specific values? → Configuration
- Advanced scenarios? → Selective Deployment
- API details? → Cmdlet Reference
Last Updated: March 2026
Version: 1.0 (Restructured Documentation)