Microsoft.DataFactory factories
Bicep resource definition
The factories resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
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:
- Resource groups - See resource group deployment commands
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 |
This template creates Azure Data Factory with Git configuration and managed virtual network. |
Bulk copy using Azure Data Factory |
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 |
This template uses Azure Data Factory to perform data movement from Salesforce to Azure Blobs |
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 a V2 data factory (MySQL) |
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) |
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) |
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) |
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) |
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 |
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 |
Provision SSIS runtime in 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 |
---|