Compartir a través de


Inicio rápido: Creación de una instancia de Azure Data Factory con la CLI de Azure

En esta guía de inicio rápido se describe cómo usar la CLI de Azure para crear una instancia de Azure Data Factory. La canalización que se crea en esta factoría de datos copia los datos de una carpeta a otra en Azure Blob Storage. Para obtener información sobre cómo transformar datos mediante Azure Data Factory, consulte Transformar datos en Azure Data Factory.

Para ver una introducción al servicio Azure Data Factory, consulte Introducción al servicio Azure Data Factory.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Requisitos previos

Nota

Para crear instancias de Data Factory, la cuenta de usuario que use para iniciar sesión en Azure debe ser un miembro de los roles colaborador o propietario, o ser administrador de la suscripción de Azure. Para más información, consulte Roles de Azure.

Preparación de un contenedor y un archivo de prueba

En esta guía de inicio rápido se usa una cuenta de Azure Storage, que incluye un contenedor con un archivo.

  1. Para crear un grupo de recursos llamado ADFQuickStartRG, use el comando az group create:

    az group create --name ADFQuickStartRG --location eastus
    
  2. Para crear una cuenta de almacenamiento, use el comando az storage account create:

    az storage account create --resource-group ADFQuickStartRG \
        --name adfquickstartstorage --location eastus
    
  3. Para crear un contenedor llamado adftutorial, use el comando az storage container create:

    az storage container create --resource-group ADFQuickStartRG --name adftutorial \
        --account-name adfquickstartstorage --auth-mode key
    
  4. En el directorio local, cree un archivo llamado emp.txt para cargarlo. Si trabaja en Azure Cloud Shell, puede encontrar el directorio de trabajo actual mediante el comando de Bash echo $PWD. Puede usar comandos de Bash estándar, como cat, para crear un archivo:

    cat > emp.txt
    This is text.
    

    Use Ctrl + D para guardar el nuevo archivo.

  5. Para cargar el nuevo archivo en el contenedor de Azure Storage, use el 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 realiza la carga en una nueva carpeta llamada input.

Crear una factoría de datos

Para crear una factoría de datos de Azure, ejecute el comando az datafactory create:

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

Importante

Reemplace ADFTutorialFactory por un nombre único global para la factoría de datos, por ejemplo, ADFTutorialFactorySP1127.

Puede ver la factoría de datos que ha creado con el comando az datafactory show:

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

Creación de un servicio vinculado y conjuntos de datos

A continuación, cree un servicio vinculado y dos conjuntos de datos.

  1. Obtenga la cadena de conexión de la cuenta de almacenamiento mediante el comando az storage account show-connection-string:

    az storage account show-connection-string --resource-group ADFQuickStartRG \
        --name adfquickstartstorage --key primary
    
  2. En el directorio de trabajo, cree un archivo JSON con este contenido, que incluye su propia cadena de conexión del paso anterior. Asigne al archivo el nombre AzureStorageLinkedService.json:

    {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net"
        }
    }
    
  3. Cree un servicio vinculado, llamado AzureStorageLinkedService, mediante el 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. En el directorio de trabajo, cree un archivo JSON con este contenido llamado InputDataset.json:

    {
        "linkedServiceName": {
            "referenceName": "AzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "Binary",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "fileName": "emp.txt",
                "folderPath": "input",
                "container": "adftutorial"
            }
        }
    }
    
  5. Cree un conjunto de datos de entrada llamado InputDataset mediante el comando az datafactory dataset create:

    az datafactory dataset create --resource-group ADFQuickStartRG \
        --dataset-name InputDataset --factory-name ADFTutorialFactory \
        --properties InputDataset.json
    
  6. En el directorio de trabajo, cree un archivo JSON con este contenido llamado OutputDataset.json:

    {
        "linkedServiceName": {
            "referenceName": "AzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "Binary",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "folderPath": "output",
                "container": "adftutorial"
            }
        }
    }
    
  7. Cree un conjunto de datos de salida llamado OutputDataset mediante el comando az datafactory dataset create:

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

Creación y ejecución de la canalización

Por último, cree y ejecute la canalización.

  1. En el directorio de trabajo, cree un archivo JSON con este contenido llamado 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. Cree una canalización llamada Adfv2QuickStartPipeline mediante el comando az datafactory pipeline create:

    az datafactory pipeline create --resource-group ADFQuickStartRG \
        --factory-name ADFTutorialFactory --name Adfv2QuickStartPipeline \
        --pipeline Adfv2QuickStartPipeline.json
    
  3. Ejecute la canalización mediante el comando az datafactory pipeline create-run:

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

    Este comando devuelve un identificador de ejecución. Cópielo para usarlo en el comando siguiente.

  4. Compruebe que la ejecución de la canalización se ejecutó correctamente mediante el comando az datafactory pipeline-run show:

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

También puede comprobar que la canalización se ejecutó como se esperaba mediante Azure Portal. Para más información, consulte Revisión de los recursos implementados.

Limpieza de recursos

Todos los recursos de esta guía de inicio rápido forman parte del mismo grupo de recursos. Puede usar el comando az group delete para eliminarlos todos.

az group delete --name ADFQuickStartRG

Si usa este grupo de recursos para cualquier otra cosa, elimine los recursos individuales. Por ejemplo, para quitar el servicio vinculado, use el comando az datafactory linked-service delete.

En esta guía de inicio rápido ha creado los siguientes archivos JSON:

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

Elimínelos mediante los comandos estándar de Bash.