Início Rápido: criar um Azure Data Factory usando modelo do ARM
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
Este início rápido descreve como usar um modelo do ARM (Azure Resource Manager) para criar um data factory do Azure. O pipeline que você criar nesse data factory copia dados de uma pasta para outra em um Armazenamento de Blobs do Azure. Para obter um tutorial sobre como transformar dados usando o Azure Data Factory, confira Tutorial: Transformar dados usando o Spark.
Um Modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do seu projeto. O modelo usa a sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.
Observação
Este artigo não fornece uma introdução detalhada do serviço Data Factory. Para obter uma introdução do serviço do Azure Data Factory, consulte Introdução ao Azure Data Factory.
Se seu ambiente atender aos pré-requisitos e você estiver familiarizado com o uso de modelos ARM, selecione o botão Implantar no Azure. O modelo será aberto no portal do Azure.
Pré-requisitos
Assinatura do Azure
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Criar um arquivo
Abra um editor de texto como o Bloco de notas e crie um arquivo chamado emp.txt com o seguinte conteúdo:
John, Doe
Jane, Doe
Salve o arquivo na pasta C:\ADFv2QuickStartPSH. (Se a pasta ainda não existir, crie-a.)
Examinar modelo
O modelo usado neste início rápido é proveniente dos Modelos de Início Rápido do Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "17339534711754973978"
}
},
"parameters": {
"dataFactoryName": {
"type": "string",
"defaultValue": "[format('datafactory{0}', uniqueString(resourceGroup().id))]",
"metadata": {
"description": "Data Factory Name"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location of the data factory."
}
},
"storageAccountName": {
"type": "string",
"defaultValue": "[format('storage{0}', uniqueString(resourceGroup().id))]",
"metadata": {
"description": "Name of the Azure storage account that contains the input/output data."
}
},
"blobContainerName": {
"type": "string",
"defaultValue": "[format('blob{0}', uniqueString(resourceGroup().id))]",
"metadata": {
"description": "Name of the blob container in the Azure Storage account."
}
}
},
"variables": {
"dataFactoryLinkedServiceName": "ArmtemplateStorageLinkedService",
"dataFactoryDataSetInName": "ArmtemplateTestDatasetIn",
"dataFactoryDataSetOutName": "ArmtemplateTestDatasetOut",
"pipelineName": "ArmtemplateSampleCopyPipeline"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts/blobServices",
"apiVersion": "2023-01-01",
"name": "[format('{0}/{1}', parameters('storageAccountName'), 'default')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
]
},
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2023-01-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2",
"properties": {
"minimumTlsVersion": "TLS1_2",
"supportsHttpsTrafficOnly": true,
"allowBlobPublicAccess": false
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2023-01-01",
"name": "[format('{0}/{1}/{2}', parameters('storageAccountName'), 'default', parameters('blobContainerName'))]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices', parameters('storageAccountName'), 'default')]"
]
},
{
"type": "Microsoft.DataFactory/factories",
"apiVersion": "2018-06-01",
"name": "[parameters('dataFactoryName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
}
},
{
"type": "Microsoft.DataFactory/factories/linkedservices",
"apiVersion": "2018-06-01",
"name": "[format('{0}/{1}', parameters('dataFactoryName'), variables('dataFactoryLinkedServiceName'))]",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"connectionString": "[format('DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1}', parameters('storageAccountName'), listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2023-01-01').keys[0].value)]"
}
},
"dependsOn": [
"[resourceId('Microsoft.DataFactory/factories', parameters('dataFactoryName'))]",
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
]
},
{
"type": "Microsoft.DataFactory/factories/datasets",
"apiVersion": "2018-06-01",
"name": "[format('{0}/{1}', parameters('dataFactoryName'), variables('dataFactoryDataSetInName'))]",
"properties": {
"linkedServiceName": {
"referenceName": "[variables('dataFactoryLinkedServiceName')]",
"type": "LinkedServiceReference"
},
"type": "Binary",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "[parameters('blobContainerName')]",
"folderPath": "input",
"fileName": "emp.txt"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.DataFactory/factories', parameters('dataFactoryName'))]",
"[resourceId('Microsoft.DataFactory/factories/linkedservices', parameters('dataFactoryName'), variables('dataFactoryLinkedServiceName'))]"
]
},
{
"type": "Microsoft.DataFactory/factories/datasets",
"apiVersion": "2018-06-01",
"name": "[format('{0}/{1}', parameters('dataFactoryName'), variables('dataFactoryDataSetOutName'))]",
"properties": {
"linkedServiceName": {
"referenceName": "[variables('dataFactoryLinkedServiceName')]",
"type": "LinkedServiceReference"
},
"type": "Binary",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "[parameters('blobContainerName')]",
"folderPath": "output"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.DataFactory/factories', parameters('dataFactoryName'))]",
"[resourceId('Microsoft.DataFactory/factories/linkedservices', parameters('dataFactoryName'), variables('dataFactoryLinkedServiceName'))]"
]
},
{
"type": "Microsoft.DataFactory/factories/pipelines",
"apiVersion": "2018-06-01",
"name": "[format('{0}/{1}', parameters('dataFactoryName'), variables('pipelineName'))]",
"properties": {
"activities": [
{
"name": "MyCopyActivity",
"type": "Copy",
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "AzureBlobStorageWriteSettings"
}
},
"enableStaging": false
},
"inputs": [
{
"referenceName": "[variables('dataFactoryDataSetInName')]",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "[variables('dataFactoryDataSetOutName')]",
"type": "DatasetReference"
}
]
}
]
},
"dependsOn": [
"[resourceId('Microsoft.DataFactory/factories', parameters('dataFactoryName'))]",
"[resourceId('Microsoft.DataFactory/factories/datasets', parameters('dataFactoryName'), variables('dataFactoryDataSetInName'))]",
"[resourceId('Microsoft.DataFactory/factories/datasets', parameters('dataFactoryName'), variables('dataFactoryDataSetOutName'))]"
]
}
],
"outputs": {
"name": {
"type": "string",
"value": "[variables('pipelineName')]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.DataFactory/factories/pipelines', parameters('dataFactoryName'), variables('pipelineName'))]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
}
}
}
Há recursos do Azure definidos no modelo:
- Microsoft.Storage/storageAccounts: define uma conta de armazenamento.
- Microsoft.DataFactory/factories: cria um Azure Data Factory.
- Microsoft.DataFactory/factories/linkedServices: cria um serviço vinculado do Azure Data Factory.
- Microsoft.DataFactory/factories/datasets: cria um conjunto de dados do Azure Data Factory.
- Microsoft.DataFactory/factories/pipelines: configura um pipeline do Azure Data Factory.
Mais exemplos de modelos do Azure Data Factory podem ser encontrados na galeria de modelos de início rápido.
Implantar o modelo
Selecione a imagem a seguir para entrar no Azure e abrir um modelo. O modelo cria uma conta do Azure Data Factory, uma conta de armazenamento e um contêiner de blob.
Selecione ou insira os seguintes valores.
A menos que seja especificado, use os valores padrão para criar os recursos do Azure Data Factory:
- Assinatura: Selecione uma assinatura do Azure.
- Grupo de recursos: selecione Criar, insira um nome exclusivo para o grupo de recursos e selecione OK.
- Região: Selecione um local. Por exemplo, Leste dos EUA.
- Nome do Data Factory: use o valor padrão.
- Localização: use o valor padrão.
- Nome da Conta de Armazenamento: use o valor padrão.
- Contêiner de blob: use o valor padrão.
Examinar os recursos implantados
Selecione Ir para grupo de recursos.
Verifique se o Azure Data Factory é criado.
- O nome do Azure Data Factory está no formato – datafactory<uniqueId>.
Verifique se a conta de armazenamento foi criada.
- O nome da conta de armazenamento está no formato – storage<uniqueid>.
Escolha a conta de armazenamento criada e selecione Contêineres.
- Na página Contêineres, selecione o contêiner de blob que você criou.
- O nome do contêiner de blob está no formato – blob<uniqueid>.
- Na página Contêineres, selecione o contêiner de blob que você criou.
Carregar um arquivo
Na página Contêineres, selecione Carregar.
No painel direito, selecione a caixa Arquivos, navegue até o arquivo emp.txt que você criou anteriormente e selecione-o.
Expanda o título Avançado.
Na caixa Carregar para a pasta, insira entrada.
Selecione o botão Carregar. O arquivo emp.txt e o status do carregamento devem estar na lista.
Selecione o ícone Fechar (um X) para fechar a página Carregar blob.
Mantenha a página de contêiner aberta, pois você poderá utilizá-la para verificar a saída no final deste guia de início rápido.
Iniciar gatilho
Navegue até a página Data factories e selecione o data factory que você criou.
Selecione Abrir no bloco Abrir Azure Data Factory Studio.
Selecione a guia Criar.
Selecione o pipeline criado – ArmtemplateSampleCopyPipeline.
Selecione Adicionar Gatilho>Disparar Agora.
No painel direito, em Execução do pipeline, selecione OK.
Monitorar o Pipeline
Selecione a guia Monitorar.
Você vê as execuções de atividade associadas à execução do pipeline. Neste início rápido, o pipeline tem apenas uma atividade do tipo: Cópia. Assim, você vê uma execução para essa atividade.
Verificar o arquivo de saída
O pipeline cria automaticamente a pasta de saída no contêiner de blob. Em seguida, ele copia o arquivo emp.txt da pasta de entrada para a pasta de saída.
No portal do Azure, na página Contêineres, selecione Atualizar para ver a pasta de saída.
Selecione saída na lista de pastas.
Confirme que emp.txt tenha sido copiado para a pasta de saída.
Limpar os recursos
Limpe os recursos criados no Guia de início rápido de duas maneiras. Você pode excluir o grupo de recursos do Azure, o que inclui todos os recursos do grupo. Se desejar manter os outros recursos intactos, exclua apenas o data factory que você criou neste tutorial.
Ao excluir um grupo de recursos, todos os recursos são excluídos, incluindo os data factories nele. Execute o comando a seguir para excluir o grupo de recursos inteiro:
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Se quiser excluir apenas o data factory, e não o grupo de recursos inteiro, execute o seguinte comando:
Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName
Conteúdo relacionado
Neste início rápido, você criou um Azure Data Factory usando um modelo do ARM e validou a implantação. Para saber mais sobre o Azure Data Factory e o Azure Resource Manager, continue com os artigos abaixo.
- Documentação do Azure Data Factory
- Saiba mais sobre o Azure Resource Manager
- Obter outros modelos do ARM para Azure Data Factory