Inicio rápido: Creación de una instancia de Azure Data Factory mediante una plantilla de Resource Manager
SE APLICA A: Azure Data Factory Azure Synapse Analytics
Sugerencia
Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.
En esta guía de inicio rápido se describe cómo usar una plantilla de Azure Resource Manager (plantilla de Resource Manager) para crear una instancia de Azure Data Factory. La canalización que ha creado en esta factoría de datos copia los datos de una carpeta a otra en Azure Blob Storage. Para ver un tutorial acerca de cómo transformar datos mediante Azure Data Factory, consulte Tutorial: Transformación de datos con Spark.
Una plantilla de Azure Resource Manager es un archivo de notación de objetos JavaScript (JSON) que define tanto la infraestructura como la configuración de un proyecto. La plantilla usa sintaxis declarativa. Se describe la implementación deseada sin escribir la secuencia de comandos de programación para crear la implementación.
Nota:
En este artículo no se ofrece una introducción detallada al servicio Data Factory. Para ver una introducción al servicio Azure Data Factory, consulte Introducción al servicio Azure Data Factory.
Si su entorno cumple los requisitos previos y está familiarizado con el uso de plantillas de Resource Manager, seleccione el botón Implementar en Azure. La plantilla se abrirá en Azure Portal.
Requisitos previos
Suscripción de Azure
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Creación de un archivo
Abra un editor de texto, como el Bloc de notas, y cree un archivo denominado emp.txt con el siguiente contenido:
John, Doe
Jane, Doe
Guarde el archivo en la carpeta C:\ADFv2QuickStartPSH. (Si la carpeta no existe, créela).
Revisión de la plantilla
La plantilla usada en este inicio rápido forma parte de las plantillas de inicio rápido de 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')]"
}
}
}
Hay recursos de Azure definidos en la plantilla:
- Microsoft.Storage/storageAccounts: Define una cuenta de almacenamiento.
- Microsoft.DataFactory/factories: Crea una instancia de Azure Data Factory.
- Microsoft.DataFactory/factories/linkedServices: Crea un servicio vinculado de Azure Data Factory.
- Microsoft.DataFactory/factories/datasets: Crea un conjunto de datos de Azure Data Factory.
- Microsoft.DataFactory/factories/pipelines: Crea una canalización de Azure Data Factory.
Encontrará más ejemplos de plantillas de Azure Data Factory en la galería de plantillas de inicio rápido.
Implementación de la plantilla
Seleccione la imagen siguiente para iniciar sesión en Azure y abrir una plantilla. La plantilla crea una cuenta de Azure Data Factory, una cuenta de almacenamiento y un contenedor de blobs.
Seleccione o escriba los siguientes valores.
A menos que se especifique, utilice los valores predeterminados para crear los recursos de Azure Data Factory:
- Suscripción: Seleccione una suscripción de Azure.
- Grupo de recursos: Seleccione Crear nuevo, escriba un nombre único para el grupo de recursos y seleccione Aceptar.
- Región: Seleccione una ubicación. Por ejemplo Este de EE. UU.
- Nombre de la instancia de Data Factory: use el valor predeterminado.
- Ubicación: Use el valor predeterminado.
- Nombre de cuenta de almacenamiento: Use el valor predeterminado.
- Contenedor de blobs: Use el valor predeterminado.
Revisión de los recursos implementados
Seleccione Ir al grupo de recursos.
Verifique que la instancia de Azure Data Factory se haya creado.
- El nombre de la instancia de Azure Data Factory tiene el formato: <uniqueid>.
Verifique que se haya creado la cuenta de almacenamiento.
- El nombre de la cuenta de almacenamiento tiene el formato: storage<uniqueid>.
Seleccione la cuenta de almacenamiento creada y, a continuación, seleccione Contenedores.
- En la página Contenedores, seleccione el contenedor de blob que ha creado.
- El nombre del contenedor de blobs tiene el formato: blob<uniqueid>.
- En la página Contenedores, seleccione el contenedor de blob que ha creado.
Cargar un archivo
En la página Contenedores, seleccione Cargar.
En el panel derecho, seleccione el cuadro Archivos, a continuación, busque y seleccione el archivo emp.txt que creó anteriormente.
Expanda el título Avanzado.
En el cuadro Cargar en carpeta, escriba input.
Seleccione el botón Cargar. Debería ver el archivo emp.txt y el estado de la carga en la lista.
Seleccione el icono Cerrar (X) para cerrar la página Cargar blob.
Mantenga abierta la página Contenedor, ya que puede usarla para verificar el resultado al final de esta guía de inicio rápido.
Inicio del desencadenador
Vaya a la página Factorías de datos, y seleccione la factoría de datos que ha creado.
Seleccione Abrir en el icono Azure Data Factory Studio.
Seleccione la pestaña Creador.
Seleccione la canalización creada: ArmtemplateSampleCopyPipeline.
Seleccione Agregar desencadenador>Trigger Now (Desencadenar ahora).
En el panel derecho, en Ejecución de la canalización, seleccione Aceptar.
Supervisar la canalización
Seleccione la pestaña Supervisión.
Vea las ejecuciones de actividad asociadas con la ejecución de la canalización. En este inicio rápido, la canalización tiene solo una actividad del tipo: Copy. Por lo tanto, se ve una ejecución de dicha actividad.
Verificación del archivo de salida
La canalización crea automáticamente una carpeta de salida en el contenedor de blobs. A continuación, copia el archivo emp.txt de la carpeta de entrada a la carpeta de salida.
En Azure Portal, en la página Contenedores, seleccione Actualizar para ver la carpeta de salida.
En la lista de carpetas, seleccione output.
Confirme que emp.txt se ha copiado en la carpeta de salida.
Limpieza de recursos
Hay dos forma de eliminar los recursos que ha creado en la guía de inicio rápido. Puede eliminar el grupo de recursos de Azure, lo que incluye todos los recursos del grupo de recursos. Si quiere mantener intacto el resto de recursos, elimine solo la factoría de datos que creó en este tutorial.
Al eliminar un grupo de recursos, se eliminan todos los recursos incluidas las factorías de datos. Ejecute el comando siguiente para eliminar el grupo de recursos completo:
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Si desea eliminar solo la factoría de datos, no el grupo de recursos completo, ejecute el siguiente comando:
Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName
Contenido relacionado
En esta guía de inicio rápido, ha creado una instancia de Azure Data Factory mediante una plantilla de Resource Manager y ha validado la implementación. Para obtener más información sobre Azure Data Factory y Azure Resource Manager, continúe con los artículos siguientes.
- documentación sobre Azure Data Factory
- Obtenga más información sobre Azure Resource Manager.
- Obtención de otras plantilla de Resource Manager para Azure Data Factory