Partilhar via


Guia de início rápido: criar um Azure Data Factory usando a CLI do Azure

Este guia de início rápido descreve como usar a CLI do Azure para criar um Azure Data Factory. O pipeline criado neste data factory copia dados de uma pasta para outra pasta em um Armazenamento de Blob do Azure. Para obter informações sobre como transformar dados usando o Azure Data Factory, consulte Transformar dados no Azure Data Factory.

Para obter uma introdução ao serviço Azure Data Factory, veja Introdução ao Azure Data Factory.

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

Nota

Para criar instâncias do Data Factory, a conta de utilizador que utiliza para iniciar sessão no Azure tem de ser membro das funções contribuidor ou proprietário ou administrador da subscrição do Azure. Para mais informações, consulte Funções do Azure.

Preparar um contêiner e um arquivo de teste

Este guia de início rápido usa uma conta de Armazenamento do Azure, que inclui um contêiner com um arquivo.

  1. Para criar um grupo de recursos chamado ADFQuickStartRG, use o comando az group create :

    az group create --name ADFQuickStartRG --location eastus
    
  2. Crie uma conta de armazenamento usando o comando az storage account create :

    az storage account create --resource-group ADFQuickStartRG \
        --name adfquickstartstorage --location eastus
    
  3. Crie um contêiner nomeado adftutorial usando o comando az storage container create :

    az storage container create --resource-group ADFQuickStartRG --name adftutorial \
        --account-name adfquickstartstorage --auth-mode key
    
  4. No diretório local, crie um arquivo chamado emp.txt para carregar. Se você estiver trabalhando no Azure Cloud Shell, poderá encontrar o diretório de trabalho atual usando o echo $PWD comando Bash. Você pode usar comandos Bash padrão, como cat, para criar um arquivo:

    cat > emp.txt
    This is text.
    

    Use Ctrl+D para salvar seu novo arquivo.

  5. Para carregar o novo arquivo em seu contêiner de armazenamento do Azure, use o comando az storage blob upload :

    az storage blob upload --account-name adfquickstartstorage --name input/emp.txt \
        --container-name adftutorial --file emp.txt --auth-mode key
    

    Este comando é carregado para uma nova pasta chamada input.

Criar uma fábrica de dados

Para criar uma fábrica de dados do Azure, execute o comando az datafactory create :

az datafactory create --resource-group ADFQuickStartRG \
    --factory-name ADFTutorialFactory

Importante

Substitua ADFTutorialFactory por um nome de fábrica de dados globalmente exclusivo, por exemplo, ADFTutorialFactorySP1127.

Você pode ver o data factory que você criou usando o comando az datafactory show :

az datafactory show --resource-group ADFQuickStartRG \
    --factory-name ADFTutorialFactory

Criar um serviço vinculado e conjuntos de dados

Em seguida, crie um serviço vinculado e dois conjuntos de dados.

  1. Obtenha a cadeia de conexão para sua conta de armazenamento usando o comando az storage account show-connection-string :

    az storage account show-connection-string --resource-group ADFQuickStartRG \
        --name adfquickstartstorage --key primary
    
  2. No diretório de trabalho, crie um arquivo JSON com esse conteúdo, que inclui sua própria cadeia de conexão da etapa anterior. Nomeie o arquivo AzureStorageLinkedService.json:

    {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net"
        }
    }
    
  3. Crie um serviço vinculado, chamado AzureStorageLinkedService, usando o comando az datafactory linked-service create :

    az datafactory linked-service create --resource-group ADFQuickStartRG \
        --factory-name ADFTutorialFactory --linked-service-name AzureStorageLinkedService \
        --properties AzureStorageLinkedService.json
    
  4. No diretório de trabalho, crie um arquivo JSON com este conteúdo, chamado InputDataset.json:

    {
        "linkedServiceName": {
            "referenceName": "AzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "Binary",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "fileName": "emp.txt",
                "folderPath": "input",
                "container": "adftutorial"
            }
        }
    }
    
  5. Crie um conjunto de dados de entrada nomeado InputDataset usando o comando az datafactory dataset create :

    az datafactory dataset create --resource-group ADFQuickStartRG \
        --dataset-name InputDataset --factory-name ADFTutorialFactory \
        --properties InputDataset.json
    
  6. No diretório de trabalho, crie um arquivo JSON com este conteúdo, chamado OutputDataset.json:

    {
        "linkedServiceName": {
            "referenceName": "AzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "Binary",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "folderPath": "output",
                "container": "adftutorial"
            }
        }
    }
    
  7. Crie um conjunto de dados de saída nomeado OutputDataset usando o comando az datafactory dataset create :

    az datafactory dataset create --resource-group ADFQuickStartRG \
        --dataset-name OutputDataset --factory-name ADFTutorialFactory \
        --properties OutputDataset.json
    

Criar e executar o pipeline

Finalmente, crie e execute o pipeline.

  1. No diretório de trabalho, crie um arquivo JSON com este conteúdo chamado Adfv2QuickStartPipeline.json:

    {
        "name": "Adfv2QuickStartPipeline",
        "properties": {
            "activities": [
                {
                    "name": "CopyFromBlobToBlob",
                    "type": "Copy",
                    "dependsOn": [],
                    "policy": {
                        "timeout": "7.00:00:00",
                        "retry": 0,
                        "retryIntervalInSeconds": 30,
                        "secureOutput": false,
                        "secureInput": false
                    },
                    "userProperties": [],
                    "typeProperties": {
                        "source": {
                            "type": "BinarySource",
                            "storeSettings": {
                                "type": "AzureBlobStorageReadSettings",
                                "recursive": true
                            }
                        },
                        "sink": {
                            "type": "BinarySink",
                            "storeSettings": {
                                "type": "AzureBlobStorageWriteSettings"
                            }
                        },
                        "enableStaging": false
                    },
                    "inputs": [
                        {
                            "referenceName": "InputDataset",
                            "type": "DatasetReference"
                        }
                    ],
                    "outputs": [
                        {
                            "referenceName": "OutputDataset",
                            "type": "DatasetReference"
                        }
                    ]
                }
            ],
            "annotations": []
        }
    }
    
  2. Crie um pipeline nomeado Adfv2QuickStartPipeline usando o comando az datafactory pipeline create :

    az datafactory pipeline create --resource-group ADFQuickStartRG \
        --factory-name ADFTutorialFactory --name Adfv2QuickStartPipeline \
        --pipeline Adfv2QuickStartPipeline.json
    
  3. Execute o pipeline usando o comando az datafactory pipeline create-run :

    az datafactory pipeline create-run --resource-group ADFQuickStartRG \
        --name Adfv2QuickStartPipeline --factory-name ADFTutorialFactory
    

    Este comando retorna uma ID de execução. Copie-o para uso no próximo comando.

  4. Verifique se a execução do pipeline foi bem-sucedida usando o comando az datafactory pipeline-run show :

    az datafactory pipeline-run show --resource-group ADFQuickStartRG \
        --factory-name ADFTutorialFactory --run-id 00000000-0000-0000-0000-000000000000
    

Você também pode verificar se seu pipeline foi executado conforme o esperado usando o portal do Azure. Para obter mais informações, consulte Revisar recursos implantados.

Clean up resources (Limpar recursos)

Todos os recursos neste início rápido fazem parte do mesmo grupo de recursos. Para removê-los todos, use o comando az group delete :

az group delete --name ADFQuickStartRG

Se você estiver usando esse grupo de recursos para qualquer outra coisa, exclua recursos individuais. Por exemplo, para remover o serviço vinculado, use o comando az datafactory linked-service delete .

Neste início rápido, você criou os seguintes arquivos JSON:

  • AzureStorageLinkedService.json
  • InputDataset.json
  • OutputDataset.json
  • Adfv2QuickStartPipeline.json

Exclua-os usando comandos Bash padrão.