Démarrage rapide : Créer une fabrique de données Azure avec Azure CLI

Ce guide de démarrage rapide explique comment utiliser Azure CLI pour créer une fabrique de données Azure. Le pipeline que vous créez dans cette fabrique de données copie les données d’un dossier vers un autre dans un stockage Blob Azure. Pour plus d’informations sur la façon de transformer des données à l’aide d’Azure Data Factory, consultez Transformer des données dans Azure Data Factory.

Pour une présentation du service Azure Data Factory, consultez Présentation d’Azure Data Factory.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Prérequis

Notes

Pour créer des instances Data Factory, le compte d’utilisateur que vous utilisez pour vous connecter à Azure doit être membre des rôles Contributeur ou Propriétaire, ou administrateur de l’abonnement Azure. Pour plus d’informations, consultez Rôles Azure.

Préparer un conteneur et un fichier de test

Ce guide de démarrage rapide utilise un compte de stockage Azure, qui comprend un conteneur avec un fichier.

  1. Pour créer un groupe de ressources nommé ADFQuickStartRG, utilisez la commande az group create :

    az group create --name ADFQuickStartRG --location eastus
    
  2. Pour créer un compte de stockage, utilisez la commande az storage account create :

    az storage account create --resource-group ADFQuickStartRG \
        --name adfquickstartstorage --location eastus
    
  3. Pour créer un conteneur nommé adftutorial, utilisez la commande az storage container create :

    az storage container create --resource-group ADFQuickStartRG --name adftutorial \
        --account-name adfquickstartstorage --auth-mode key
    
  4. Dans le répertoire local, créez un fichier nommé emp.txt à charger. Si vous utilisez Azure Cloud Shell, vous pouvez trouver le répertoire de travail actuel à l’aide de la commande Bash echo $PWD. Vous pouvez utiliser des commandes Bash standard, telles que cat, pour créer un fichier :

    cat > emp.txt
    This is text.
    

    Utilisez Ctrl+D pour enregistrer votre nouveau fichier.

  5. Pour charger le nouveau fichier sur votre conteneur de stockage Azure, utilisez la commande az storage blob upload :

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

    Cette commande effectue le chargement sur un nouveau dossier nommé input.

Créer une fabrique de données

Pour créer une fabrique de données Azure, exécutez la commande az datafactory create :

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

Important

Remplacez ADFTutorialFactory par un nom de fabrique de données global unique, par exemple ADFTutorialFactorySP1127.

Vous pouvez voir la fabrique de données que vous avez créée en utilisant la commande az datafactory show :

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

Créer un service lié et des jeux de données

Ensuite, créez un service lié et deux jeux de données.

  1. Obtenez la chaîne de connexion pour le compte de stockage avec la commande az storage account show-connection-string :

    az storage account show-connection-string --resource-group ADFQuickStartRG \
        --name adfquickstartstorage --key primary
    
  2. Dans votre répertoire de travail, créez un fichier JSON avec ce contenu, qui comprend votre propre chaîne de connexion de l’étape précédente. Nommez le fichier AzureStorageLinkedService.json :

    {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net"
        }
    }
    
  3. Créez un service lié nommé AzureStorageLinkedService à l’aide de la commande az datafactory linked-service create :

    az datafactory linked-service create --resource-group ADFQuickStartRG \
        --factory-name ADFTutorialFactory --linked-service-name AzureStorageLinkedService \
        --properties AzureStorageLinkedService.json
    
  4. Dans votre répertoire de travail, créez un fichier JSON avec ce contenu, nommé InputDataset.json :

    {
        "linkedServiceName": {
            "referenceName": "AzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "Binary",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "fileName": "emp.txt",
                "folderPath": "input",
                "container": "adftutorial"
            }
        }
    }
    
  5. Créez un jeu de données d’entrée nommé InputDataset à l’aide de la commande az datafactory dataset create :

    az datafactory dataset create --resource-group ADFQuickStartRG \
        --dataset-name InputDataset --factory-name ADFTutorialFactory \
        --properties InputDataset.json
    
  6. Dans votre répertoire de travail, créez un fichier JSON avec ce contenu, nommé OutputDataset.json :

    {
        "linkedServiceName": {
            "referenceName": "AzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "Binary",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "folderPath": "output",
                "container": "adftutorial"
            }
        }
    }
    
  7. Créez un jeu de données de sortie nommé OutputDataset à l’aide de la commande az datafactory dataset create :

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

Créer et exécuter le pipeline

Enfin, créez et exécutez le pipeline.

  1. Dans votre répertoire de travail, créez un fichier JSON avec ce contenu nommé 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. Créez un pipeline nommé Adfv2QuickStartPipeline à l’aide de la commande az datafactory pipeline create :

    az datafactory pipeline create --resource-group ADFQuickStartRG \
        --factory-name ADFTutorialFactory --name Adfv2QuickStartPipeline \
        --pipeline Adfv2QuickStartPipeline.json
    
  3. Exécutez le pipeline à l’aide de la commande az datafactory pipeline create-run :

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

    Cette commande retourne un ID d’exécution. Copiez-le pour l’utiliser dans la commande suivante.

  4. Vérifiez que l’exécution du pipeline a réussi à l’aide de la commande az datafactory pipeline-run show :

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

Vous pouvez également vérifier que votre pipeline s’est exécuté comme prévu avec le portail Azure. Pour plus d’informations, consultez Vérifier les ressources déployées.

Nettoyer les ressources

Toutes les ressources de ce guide de démarrage rapide font partie du même groupe de ressources. Pour les supprimer toutes, utilisez la commande az group delete :

az group delete --name ADFQuickStartRG

Si vous utilisez ce groupe de ressources pour autre chose, supprimez plutôt des ressources individuelles. Par exemple, pour supprimer le service lié, utilisez la commande az datafactory linked-service delete.

Dans ce guide de démarrage rapide, vous avez créé les fichiers JSON suivants :

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

Supprimez-les en utilisant des commandes Bash standard.