Início Rápido: criar um Azure Data Factory usando modelo do ARMQuickstart: Create an Azure Data Factory using ARM template

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Este início rápido descreve como usar um modelo do ARM (Azure Resource Manager) para criar um data factory do Azure.This quickstart describes how to use an Azure Resource Manager template (ARM template) to create an Azure data factory. O pipeline que você criar nesse data factory copia dados de uma pasta para outra em um Armazenamento de Blobs do Azure.The pipeline you create in this data factory copies data from one folder to another folder in an Azure blob storage. Para obter um tutorial sobre como transformar dados usando o Azure Data Factory, confira Tutorial: Transformar dados usando o Spark.For a tutorial on how to transform data using Azure Data Factory, see Tutorial: Transform data using Spark.

Um modelo ARM é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do projeto.An ARM template is a JavaScript Object Notation (JSON) file that defines the infrastructure and configuration for your project. O modelo usa a sintaxe declarativa.The template uses declarative syntax. Na sintaxe declarativa, você descreve a implantação pretendida sem gravar a sequência de comandos de programação para criar a implantação.In declarative syntax, you describe your intended deployment without writing the sequence of programming commands to create the deployment.

Observação

Este artigo não fornece uma introdução detalhada do serviço Data Factory.This article does not provide a detailed introduction of the Data Factory service. Para obter uma introdução do serviço do Azure Data Factory, consulte Introdução ao Azure Data Factory.For an introduction to the Azure Data Factory service, see Introduction to 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.If your environment meets the prerequisites and you're familiar with using ARM templates, select the Deploy to Azure button. O modelo será aberto no portal do Azure.The template will open in the Azure portal.

Implantar no AzureDeploy to Azure

Pré-requisitosPrerequisites

Assinatura do AzureAzure subscription

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.If you don't have an Azure subscription, create a free account before you begin.

Criar um arquivoCreate a file

Abra um editor de texto como o Bloco de notas e crie um arquivo chamado emp.txt com o seguinte conteúdo:Open a text editor such as Notepad, and create a file named emp.txt with the following content:

John, Doe
Jane, Doe

Salve o arquivo na pasta C:\ADFv2QuickStartPSH.Save the file in the C:\ADFv2QuickStartPSH folder. (Se a pasta ainda não existir, crie-a.)(If the folder doesn't already exist, create it.)

Examinar modeloReview template

O modelo usado neste início rápido é proveniente dos Modelos de Início Rápido do Azure.The template used in this quickstart is from Azure Quickstart Templates.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "dataFactoryName": {
      "type": "string",
      "defaultValue": "[concat('datafactory', uniqueString(resourceGroup().id))]",
      "metadata": {
        "description": "Data Factory Name"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location of the data factory. Currently, only East US, East US 2, and West Europe are supported."
      }
    },
    "storageAccountName": {
      "type": "string",
      "defaultValue": "[concat('storage', uniqueString(resourceGroup().id))]",
      "metadata": {
        "description": "Name of the Azure storage account that contains the input/output data."
      }
    },
    "blobContainer": {
      "type": "string",
      "defaultValue": "[concat('blob', uniqueString(resourceGroup().id))]",
      "metadata": {
        "description": "Name of the blob container in the Azure Storage account."
      }
    }
  },
  "variables": {
    "storageAccountId": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]",
    "storageLinkedService": "[resourceId('Microsoft.DataFactory/factories/linkedServices', parameters('dataFactoryName'), 'armTemplateStorageLinkedService')]",
    "datasetIn": "[resourceId('Microsoft.DataFactory/factories/datasets', parameters('dataFactoryName'), 'armTemplateTestDatasetIn')]",
    "datasetOut": "[resourceId('Microsoft.DataFactory/factories/datasets', parameters('dataFactoryName'), 'armTemplateTestDatasetOut')]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2019-06-01",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {},
      "resources": [
        {
          "type": "blobServices/containers",
          "apiVersion": "2019-06-01",
          "name": "[concat('default/', parameters('blobContainer'))]",
          "dependsOn": [
            "[parameters('storageAccountName')]"
          ]
        }
      ]
    },
    {
      "type": "Microsoft.DataFactory/factories",
      "apiVersion": "2018-06-01",
      "name": "[parameters('dataFactoryName')]",
      "location": "[parameters('location')]",
      "properties": {},
      "identity": {
        "type": "SystemAssigned"
      },
      "resources": [
        {
          "type": "Microsoft.DataFactory/factories/linkedServices",
          "apiVersion": "2018-06-01",
          "name": "[concat(parameters('dataFactoryName'), '/ArmtemplateStorageLinkedService')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[parameters('dataFactoryName')]",
            "[parameters('storageAccountName')]"
          ],
          "properties": {
            "type": "AzureBlobStorage",
            "typeProperties": {
              "connectionString": "[concat('DefaultEndpointsProtocol=https;AccountName=',parameters('storageAccountName'),';AccountKey=',listKeys(variables('storageAccountId'), '2019-06-01').keys[0].value)]"
            }
          }
        },
        {
          "type": "Microsoft.DataFactory/factories/datasets",
          "apiVersion": "2018-06-01",
          "name": "[concat(parameters('dataFactoryName'), '/ArmtemplateTestDatasetIn')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[parameters('dataFactoryName')]",
            "[variables('storageLinkedService')]"
          ],
          "properties": {
            "linkedServiceName": {
              "referenceName": "ArmtemplateStorageLinkedService",
              "type": "LinkedServiceReference"
            },
            "type": "Binary",
            "typeProperties": {
              "location": {
                "type": "AzureBlobStorageLocation",
                "container": "[parameters('blobContainer')]",
                "folderPath": "input",
                "fileName": "emp.txt"
              }
            }
          }
        },
        {
          "type": "Microsoft.DataFactory/factories/datasets",
          "apiVersion": "2018-06-01",
          "name": "[concat(parameters('dataFactoryName'), '/ArmtemplateTestDatasetOut')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[parameters('dataFactoryName')]",
            "[variables('storageLinkedService')]"
          ],
          "properties": {
            "linkedServiceName": {
              "referenceName": "ArmtemplateStorageLinkedService",
              "type": "LinkedServiceReference"
            },
            "type": "Binary",
            "typeProperties": {
              "location": {
                "type": "AzureBlobStorageLocation",
                "container": "[parameters('blobContainer')]",
                "folderPath": "output"
              }
            }
          }
        },
        {
          "type": "Microsoft.DataFactory/factories/pipelines",
          "apiVersion": "2018-06-01",
          "name": "[concat(parameters('dataFactoryName'), '/ArmtemplateSampleCopyPipeline')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[parameters('dataFactoryName')]",
            "[variables('datasetIn')]",
            "[variables('datasetOut')]"
          ],
          "properties": {
            "activities": [
              {
                "name": "MyCopyActivity",
                "type": "Copy",
                "policy": {
                  "timeout": "7.00:00:00",
                  "retry": 0,
                  "retryIntervalInSeconds": 30,
                  "secureOutput": false,
                  "secureInput": false
                },
                "typeProperties": {
                  "source": {
                    "type": "BinarySource",
                    "storeSettings": {
                      "type": "AzureBlobStorageReadSettings",
                      "recursive": true
                    }
                  },
                  "sink": {
                    "type": "BinarySink",
                    "storeSettings": {
                      "type": "AzureBlobStorageWriteSettings"
                    }
                  },
                  "enableStaging": false
                },
                "inputs": [
                  {
                    "referenceName": "ArmtemplateTestDatasetIn",
                    "type": "DatasetReference",
                    "parameters": {
                    }
                  }
                ],
                "outputs": [
                  {
                    "referenceName": "ArmtemplateTestDatasetOut",
                    "type": "DatasetReference",
                    "parameters": {}
                  }
                ]
              }
            ]
          }
        }
      ]
    }
  ]
}

Há recursos do Azure definidos no modelo:There are Azure resources defined in the template:

Mais exemplos de modelos do Azure Data Factory podem ser encontrados na galeria de modelos de início rápido.More Azure Data Factory template samples can be found in the quickstart template gallery.

Implantar o modeloDeploy the template

  1. Selecione a imagem a seguir para entrar no Azure e abrir um modelo.Select the following image to sign in to Azure and open a template. O modelo cria uma conta do Azure Data Factory, uma conta de armazenamento e um contêiner de blob.The template creates an Azure Data Factory account, a storage account, and a blob container.

    Implantar no AzureDeploy to Azure

  2. Selecione ou insira os seguintes valores.Select or enter the following values.

    Implantar modelo do ARM para ADF

    A menos que seja especificado, use os valores padrão para criar os recursos do Azure Data Factory:Unless it's specified, use the default values to create the Azure Data Factory resources:

    • Assinatura: Selecione uma assinatura do Azure.Subscription: Select an Azure subscription.
    • Grupo de recursos: selecione Criar, insira um nome exclusivo para o grupo de recursos e selecione OK.Resource group: Select Create new, enter a unique name for the resource group, and then select OK.
    • Região: Selecione um local.Region: Select a location. Por exemplo, Leste dos EUA.For example, East US.
    • Nome do Data Factory: use o valor padrão.Data Factory Name: Use default value.
    • Localização: use o valor padrão.Location: Use default value.
    • Nome da Conta de Armazenamento: use o valor padrão.Storage Account Name: Use default value.
    • Contêiner de blob: use o valor padrão.Blob Container: Use default value.

Examinar os recursos implantadosReview deployed resources

  1. Selecione Ir para grupo de recursos.Select Go to resource group.

    Grupo de recursos

  2. Verifique se o Azure Data Factory é criado.Verify your Azure Data Factory is created.

    1. O nome do Azure Data Factory está no formato – datafactory<uniqueid>.Your Azure Data Factory name is in the format - datafactory<uniqueid>.

    Exemplo de Data Factory

  3. Verifique se a conta de armazenamento foi criada.Verify your storage account is created.

    1. O nome da conta de armazenamento está no formato – storage<uniqueid>.The storage account name is in the format - storage<uniqueid>.

    Conta de armazenamento

  4. Escolha a conta de armazenamento criada e selecione Contêineres.Select the storage account created and then select Containers.

    1. Na página Contêineres, selecione o contêiner de blob que você criou.On the Containers page, select the blob container you created.
      1. O nome do contêiner de blob está no formato – blob<uniqueid>.The blob container name is in the format - blob<uniqueid>.

    Contêiner de blob

Carregar um arquivoUpload a file

  1. Na página Contêineres, selecione Carregar.On the Containers page, select Upload.

  2. No painel direito, selecione a caixa Arquivos, navegue até o arquivo emp.txt que você criou anteriormente e selecione-o.In te right pane, select the Files box, and then browse to and select the emp.txt file that you created earlier.

  3. Expanda o título Avançado.Expand the Advanced heading.

  4. Na caixa Carregar para a pasta, insira entrada.In the Upload to folder box, enter input.

  5. Selecione o botão Carregar.Select the Upload button. O arquivo emp.txt e o status do carregamento devem estar na lista.You should see the emp.txt file and the status of the upload in the list.

  6. Selecione o ícone Fechar (um X) para fechar a página Carregar blob.Select the Close icon (an X) to close the Upload blob page.

    Carregar arquivo na pasta de entrada

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.Keep the container page open, because you can use it to verify the output at the end of this quickstart.

Iniciar gatilhoStart Trigger

  1. Navegue até a página Data factories e selecione o data factory que você criou.Navigate to the Data factories page, and select the data factory you created.

  2. Selecione o bloco Criar e Monitorar.Select the Author & Monitor tile.

    Criar e Monitorar

  3. Selecione a guia Criar .

  4. Selecione o pipeline criado – ArmtemplateSampleCopyPipeline.Select the pipeline created - ArmtemplateSampleCopyPipeline.

    Pipeline de modelo do ARM

  5. Selecione Adicionar Gatilho > Disparar Agora.Select Add Trigger > Trigger Now.

    Gatilho

  6. No painel direito, em Execução do pipeline, selecione OK.In the right pane under Pipeline run, select OK.

Monitorar o PipelineMonitor the pipeline

  1. Selecione a guia Monitorar .

  2. Você vê as execuções de atividade associadas à execução do pipeline.You see the activity runs associated with the pipeline run. Neste início rápido, o pipeline tem apenas uma atividade do tipo: Cópia.In this quickstart, the pipeline has only one activity of type: Copy. Assim, você vê uma execução para essa atividade.As such, you see a run for that activity.

    Execução bem-sucedida

Verificar o arquivo de saídaVerify the output file

O pipeline cria automaticamente a pasta de saída no contêiner de blob.The pipeline automatically creates an output folder in the blob container. Em seguida, ele copia o arquivo emp.txt da pasta de entrada para a pasta de saída.Then, it copies the emp.txt file from the input folder to the output folder.

  1. No portal do Azure, na página Contêineres, selecione Atualizar para ver a pasta de saída.In the Azure portal, on the Containers page, select Refresh to see the output folder.

  2. Selecione saída na lista de pastas.Select output in the folder list.

  3. Confirme que emp.txt tenha sido copiado para a pasta de saída.Confirm that the emp.txt is copied to the output folder.

    Saída

Limpar os recursosClean up resources

Limpe os recursos criados no Guia de início rápido de duas maneiras.You can clean up the resources that you created in the Quickstart in two ways. Você pode excluir o grupo de recursos do Azure, o que inclui todos os recursos do grupo.You can delete the Azure resource group, which includes all the resources in the resource group. Se desejar manter os outros recursos intactos, exclua apenas o data factory que você criou neste tutorial.If you want to keep the other resources intact, delete only the data factory you created in this tutorial.

Ao excluir um grupo de recursos, todos os recursos são excluídos, incluindo os data factories nele.Deleting a resource group deletes all resources including data factories in it. Execute o comando a seguir para excluir o grupo de recursos inteiro:Run the following command to delete the entire resource group:

Remove-AzResourceGroup -ResourceGroupName $resourcegroupname

Se quiser excluir apenas o data factory, e não o grupo de recursos inteiro, execute o seguinte comando:If you want to delete just the data factory, and not the entire resource group, run the following command:

Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName

Próximas etapasNext steps

Neste início rápido, você criou um Azure Data Factory usando um modelo do ARM e validou a implantação.In this quickstart, you created an Azure Data Factory using an ARM template and validated the deployment. Para saber mais sobre o Azure Data Factory e o Azure Resource Manager, continue com os artigos abaixo.To learn more about Azure Data Factory and Azure Resource Manager, continue on to the articles below.