Microsoft.DataFactory factories

Bicep resource definition

The factories resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DataFactory/factories resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DataFactory/factories@2018-06-01' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: any(Azure.Bicep.Types.Concrete.AnyType)
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    encryption: {
      identity: {
        userAssignedIdentity: 'string'
      }
      keyName: 'string'
      keyVersion: 'string'
      vaultBaseUrl: 'string'
    }
    globalParameters: {
      {customized property}: {
        type: 'string'
        value: any(Azure.Bicep.Types.Concrete.AnyType)
      }
    }
    publicNetworkAccess: 'string'
    purviewConfiguration: {
      purviewResourceId: 'string'
    }
    repoConfiguration: {
      accountName: 'string'
      collaborationBranch: 'string'
      disablePublish: bool
      lastCommitId: 'string'
      repositoryName: 'string'
      rootFolder: 'string'
      type: 'string'
      // For remaining properties, see FactoryRepoConfiguration objects
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

FactoryRepoConfiguration objects

Set the type property to specify the type of object.

For FactoryGitHubConfiguration, use:

{
  clientId: 'string'
  clientSecret: {
    byoaSecretAkvUrl: 'string'
    byoaSecretName: 'string'
  }
  hostName: 'string'
  type: 'FactoryGitHubConfiguration'
}

For FactoryVSTSConfiguration, use:

{
  projectName: 'string'
  tenantId: 'string'
  type: 'FactoryVSTSConfiguration'
}

Property values

CMKIdentityDefinition

Name Description Value
userAssignedIdentity The resource id of the user assigned identity to authenticate to customer's key vault. string

EncryptionConfiguration

Name Description Value
identity User assigned identity to use to authenticate to customer's key vault. If not provided Managed Service Identity will be used. CMKIdentityDefinition
keyName The name of the key in Azure Key Vault to use as Customer Managed Key. string (required)
keyVersion The version of the key used for CMK. If not provided, latest version will be used. string
vaultBaseUrl The url of the Azure Key Vault used for CMK. string (required)

FactoryGitHubConfiguration

Name Description Value
clientId GitHub bring your own app client id. string
clientSecret GitHub bring your own app client secret information. GitHubClientSecret
hostName GitHub Enterprise host name. For example: https://github.mydomain.com string
type Type of repo configuration. 'FactoryGitHubConfiguration' (required)

FactoryIdentity

Name Description Value
type The identity type. 'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (required)
userAssignedIdentities List of user assigned identities for the factory. UserAssignedIdentitiesDefinitionSpecification

FactoryProperties

Name Description Value
encryption Properties to enable Customer Managed Key for the factory. EncryptionConfiguration
globalParameters List of parameters for factory. GlobalParameterDefinitionSpecification
publicNetworkAccess Whether or not public network access is allowed for the data factory. 'Disabled'
'Enabled'
purviewConfiguration Purview information of the factory. PurviewConfiguration
repoConfiguration Git repo information of the factory. FactoryRepoConfiguration

FactoryRepoConfiguration

Name Description Value
accountName Account name. string (required)
collaborationBranch Collaboration branch. string (required)
disablePublish Disable manual publish operation in ADF studio to favor automated publish. bool
lastCommitId Last commit id. string
repositoryName Repository name. string (required)
rootFolder Root folder. string (required)
type Set to 'FactoryGitHubConfiguration' for type FactoryGitHubConfiguration. Set to 'FactoryVSTSConfiguration' for type FactoryVstsConfiguration. 'FactoryGitHubConfiguration'
'FactoryVSTSConfiguration' (required)

FactoryVstsConfiguration

Name Description Value
projectName VSTS project name. string (required)
tenantId VSTS tenant id. string
type Type of repo configuration. 'FactoryVSTSConfiguration' (required)

GitHubClientSecret

Name Description Value
byoaSecretAkvUrl Bring your own app client secret AKV URL. string
byoaSecretName Bring your own app client secret name in AKV. string

GlobalParameterDefinitionSpecification

Name Description Value

GlobalParameterSpecification

Name Description Value
type Global Parameter type. 'Array'
'Bool'
'Float'
'Int'
'Object'
'String' (required)
value Value of parameter. any (required)

Microsoft.DataFactory/factories

Name Description Value
identity Managed service identity of the factory. FactoryIdentity
location The resource location. string
name The resource name string

Constraints:
Min length = 3
Max length = 3
Pattern = ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$ (required)
properties Properties of the factory. FactoryProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates

PurviewConfiguration

Name Description Value
purviewResourceId Purview resource id. string

ResourceTags

Name Description Value

UserAssignedIdentitiesDefinitionSpecification

Name Description Value

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
Azure Data Factory with Git and managed vnet configuration This template creates Azure Data Factory with Git configuration and managed virtual network.
Create a V2 data factory This template creates a V2 data factory that copies data from a folder in an Azure Blob Storage to another folder in the storage.
Create an empty data factory This template creates an empty data factory
Deploy the Sports Analytics on Azure Architecture Creates an Azure storage account with ADLS Gen 2 enabled, an Azure Data Factory instance with linked services for the storage account (an the Azure SQL Database if deployed), and an Azure Databricks instance. The AAD identity for the user deploying the template and the managed identity for the ADF instance will be granted the Storage Blob Data Contributor role on the storage account. There are also options to deploy an Azure Key Vault instance, an Azure SQL Database, and an Azure Event Hub (for streaming use cases). When an Azure Key Vault is deployed, the data factory managed identity and the AAD identity for the user deploying the template will be granted the Key Vault Secrets User role.
FinOps hub This template creates a new FinOps hub instance, including Data Lake storage and a Data Factory.
More is possible with Azure Data Factory - One click to try Azure Data Factory This template creates a data factory pipeline for a copy activity from Azure Blob into another Azure Blob

ARM template resource definition

The factories resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DataFactory/factories resource, add the following JSON to your template.

{
  "type": "Microsoft.DataFactory/factories",
  "apiVersion": "2018-06-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "location": "string",
  "properties": {
    "encryption": {
      "identity": {
        "userAssignedIdentity": "string"
      },
      "keyName": "string",
      "keyVersion": "string",
      "vaultBaseUrl": "string"
    },
    "globalParameters": {
      "{customized property}": {
        "type": "string",
        "value": {}
      }
    },
    "publicNetworkAccess": "string",
    "purviewConfiguration": {
      "purviewResourceId": "string"
    },
    "repoConfiguration": {
      "accountName": "string",
      "collaborationBranch": "string",
      "disablePublish": "bool",
      "lastCommitId": "string",
      "repositoryName": "string",
      "rootFolder": "string",
      "type": "string"
      // For remaining properties, see FactoryRepoConfiguration objects
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

FactoryRepoConfiguration objects

Set the type property to specify the type of object.

For FactoryGitHubConfiguration, use:

{
  "clientId": "string",
  "clientSecret": {
    "byoaSecretAkvUrl": "string",
    "byoaSecretName": "string"
  },
  "hostName": "string",
  "type": "FactoryGitHubConfiguration"
}

For FactoryVSTSConfiguration, use:

{
  "projectName": "string",
  "tenantId": "string",
  "type": "FactoryVSTSConfiguration"
}

Property values

CMKIdentityDefinition

Name Description Value
userAssignedIdentity The resource id of the user assigned identity to authenticate to customer's key vault. string

EncryptionConfiguration

Name Description Value
identity User assigned identity to use to authenticate to customer's key vault. If not provided Managed Service Identity will be used. CMKIdentityDefinition
keyName The name of the key in Azure Key Vault to use as Customer Managed Key. string (required)
keyVersion The version of the key used for CMK. If not provided, latest version will be used. string
vaultBaseUrl The url of the Azure Key Vault used for CMK. string (required)

FactoryGitHubConfiguration

Name Description Value
clientId GitHub bring your own app client id. string
clientSecret GitHub bring your own app client secret information. GitHubClientSecret
hostName GitHub Enterprise host name. For example: https://github.mydomain.com string
type Type of repo configuration. 'FactoryGitHubConfiguration' (required)

FactoryIdentity

Name Description Value
type The identity type. 'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (required)
userAssignedIdentities List of user assigned identities for the factory. UserAssignedIdentitiesDefinitionSpecification

FactoryProperties

Name Description Value
encryption Properties to enable Customer Managed Key for the factory. EncryptionConfiguration
globalParameters List of parameters for factory. GlobalParameterDefinitionSpecification
publicNetworkAccess Whether or not public network access is allowed for the data factory. 'Disabled'
'Enabled'
purviewConfiguration Purview information of the factory. PurviewConfiguration
repoConfiguration Git repo information of the factory. FactoryRepoConfiguration

FactoryRepoConfiguration

Name Description Value
accountName Account name. string (required)
collaborationBranch Collaboration branch. string (required)
disablePublish Disable manual publish operation in ADF studio to favor automated publish. bool
lastCommitId Last commit id. string
repositoryName Repository name. string (required)
rootFolder Root folder. string (required)
type Set to 'FactoryGitHubConfiguration' for type FactoryGitHubConfiguration. Set to 'FactoryVSTSConfiguration' for type FactoryVstsConfiguration. 'FactoryGitHubConfiguration'
'FactoryVSTSConfiguration' (required)

FactoryVstsConfiguration

Name Description Value
projectName VSTS project name. string (required)
tenantId VSTS tenant id. string
type Type of repo configuration. 'FactoryVSTSConfiguration' (required)

GitHubClientSecret

Name Description Value
byoaSecretAkvUrl Bring your own app client secret AKV URL. string
byoaSecretName Bring your own app client secret name in AKV. string

GlobalParameterDefinitionSpecification

Name Description Value

GlobalParameterSpecification

Name Description Value
type Global Parameter type. 'Array'
'Bool'
'Float'
'Int'
'Object'
'String' (required)
value Value of parameter. any (required)

Microsoft.DataFactory/factories

Name Description Value
apiVersion The api version '2018-06-01'
identity Managed service identity of the factory. FactoryIdentity
location The resource location. string
name The resource name string

Constraints:
Min length = 3
Max length = 3
Pattern = ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$ (required)
properties Properties of the factory. FactoryProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.DataFactory/factories'

PurviewConfiguration

Name Description Value
purviewResourceId Purview resource id. string

ResourceTags

Name Description Value

UserAssignedIdentitiesDefinitionSpecification

Name Description Value

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Azure Data Factory with Git and managed vnet configuration

Deploy to Azure
This template creates Azure Data Factory with Git configuration and managed virtual network.
Bulk copy using Azure Data Factory

Deploy to Azure
This template creates a V2 data factory that copies data in bulk an Azure SQL database to an Azure SQL data warehouse.
Create a Data Factory, copy from Salesforce to Blob

Deploy to Azure
This template uses Azure Data Factory to perform data movement from Salesforce to Azure Blobs
Create a V2 data factory

Deploy to Azure
This template creates a V2 data factory that copies data from a folder in an Azure Blob Storage to another folder in the storage.
Create a V2 data factory (MySQL)

Deploy to Azure
This template creates a V2 data factory that copies data from a folder in an Azure Blob Storage to a table in an Azure Database for MySQL.
Create a V2 data factory (PostGre)

Deploy to Azure
This template creates a V2 data factory that copies data from a folder in an Azure Blob Storage to a table in an Azure Database for PostgreSQL.
Create a V2 data factory (Spark)

Deploy to Azure
This template creates a V2 data factory that copies data from a folder in an Azure Blob Storage to another folder in the storage.
Create a V2 data factory (SQL On-prem)

Deploy to Azure
This template creates a V2 data factory that copies data from an on-premises SQL Server to an Azure blob storage
Create a V2 data factory (SQL)

Deploy to Azure
This template creates a V2 data factory that copies data from a folder in an Azure Blob Storage to a table in an Azure SQL database.
Create an empty data factory

Deploy to Azure
This template creates an empty data factory
Deploy the Sports Analytics on Azure Architecture

Deploy to Azure
Creates an Azure storage account with ADLS Gen 2 enabled, an Azure Data Factory instance with linked services for the storage account (an the Azure SQL Database if deployed), and an Azure Databricks instance. The AAD identity for the user deploying the template and the managed identity for the ADF instance will be granted the Storage Blob Data Contributor role on the storage account. There are also options to deploy an Azure Key Vault instance, an Azure SQL Database, and an Azure Event Hub (for streaming use cases). When an Azure Key Vault is deployed, the data factory managed identity and the AAD identity for the user deploying the template will be granted the Key Vault Secrets User role.
FinOps hub

Deploy to Azure
This template creates a new FinOps hub instance, including Data Lake storage and a Data Factory.
More is possible with Azure Data Factory - One click to try Azure Data Factory

Deploy to Azure
This template creates a data factory pipeline for a copy activity from Azure Blob into another Azure Blob
Provision SSIS runtime in Azure

Deploy to Azure
This template creates a V2 data factory and then provisions an Azure SSIS integration runtime

Terraform (AzAPI provider) resource definition

The factories resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DataFactory/factories resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DataFactory/factories@2018-06-01"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = ?
    }
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      encryption = {
        identity = {
          userAssignedIdentity = "string"
        }
        keyName = "string"
        keyVersion = "string"
        vaultBaseUrl = "string"
      }
      globalParameters = {
        {customized property} = {
          type = "string"
          value = ?
        }
      }
      publicNetworkAccess = "string"
      purviewConfiguration = {
        purviewResourceId = "string"
      }
      repoConfiguration = {
        accountName = "string"
        collaborationBranch = "string"
        disablePublish = bool
        lastCommitId = "string"
        repositoryName = "string"
        rootFolder = "string"
        type = "string"
        // For remaining properties, see FactoryRepoConfiguration objects
      }
    }
  })
}

FactoryRepoConfiguration objects

Set the type property to specify the type of object.

For FactoryGitHubConfiguration, use:

{
  clientId = "string"
  clientSecret = {
    byoaSecretAkvUrl = "string"
    byoaSecretName = "string"
  }
  hostName = "string"
  type = "FactoryGitHubConfiguration"
}

For FactoryVSTSConfiguration, use:

{
  projectName = "string"
  tenantId = "string"
  type = "FactoryVSTSConfiguration"
}

Property values

CMKIdentityDefinition

Name Description Value
userAssignedIdentity The resource id of the user assigned identity to authenticate to customer's key vault. string

EncryptionConfiguration

Name Description Value
identity User assigned identity to use to authenticate to customer's key vault. If not provided Managed Service Identity will be used. CMKIdentityDefinition
keyName The name of the key in Azure Key Vault to use as Customer Managed Key. string (required)
keyVersion The version of the key used for CMK. If not provided, latest version will be used. string
vaultBaseUrl The url of the Azure Key Vault used for CMK. string (required)

FactoryGitHubConfiguration

Name Description Value
clientId GitHub bring your own app client id. string
clientSecret GitHub bring your own app client secret information. GitHubClientSecret
hostName GitHub Enterprise host name. For example: https://github.mydomain.com string
type Type of repo configuration. 'FactoryGitHubConfiguration' (required)

FactoryIdentity

Name Description Value
type The identity type. 'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (required)
userAssignedIdentities List of user assigned identities for the factory. UserAssignedIdentitiesDefinitionSpecification

FactoryProperties

Name Description Value
encryption Properties to enable Customer Managed Key for the factory. EncryptionConfiguration
globalParameters List of parameters for factory. GlobalParameterDefinitionSpecification
publicNetworkAccess Whether or not public network access is allowed for the data factory. 'Disabled'
'Enabled'
purviewConfiguration Purview information of the factory. PurviewConfiguration
repoConfiguration Git repo information of the factory. FactoryRepoConfiguration

FactoryRepoConfiguration

Name Description Value
accountName Account name. string (required)
collaborationBranch Collaboration branch. string (required)
disablePublish Disable manual publish operation in ADF studio to favor automated publish. bool
lastCommitId Last commit id. string
repositoryName Repository name. string (required)
rootFolder Root folder. string (required)
type Set to 'FactoryGitHubConfiguration' for type FactoryGitHubConfiguration. Set to 'FactoryVSTSConfiguration' for type FactoryVstsConfiguration. 'FactoryGitHubConfiguration'
'FactoryVSTSConfiguration' (required)

FactoryVstsConfiguration

Name Description Value
projectName VSTS project name. string (required)
tenantId VSTS tenant id. string
type Type of repo configuration. 'FactoryVSTSConfiguration' (required)

GitHubClientSecret

Name Description Value
byoaSecretAkvUrl Bring your own app client secret AKV URL. string
byoaSecretName Bring your own app client secret name in AKV. string

GlobalParameterDefinitionSpecification

Name Description Value

GlobalParameterSpecification

Name Description Value
type Global Parameter type. 'Array'
'Bool'
'Float'
'Int'
'Object'
'String' (required)
value Value of parameter. any (required)

Microsoft.DataFactory/factories

Name Description Value
identity Managed service identity of the factory. FactoryIdentity
location The resource location. string
name The resource name string

Constraints:
Min length = 3
Max length = 3
Pattern = ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$ (required)
properties Properties of the factory. FactoryProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.DataFactory/factories@2018-06-01"

PurviewConfiguration

Name Description Value
purviewResourceId Purview resource id. string

ResourceTags

Name Description Value

UserAssignedIdentitiesDefinitionSpecification

Name Description Value