Schnellstart: Erstellen einer Azure Data Factory-Instanz mithilfe einer ARM-Vorlage
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
In dieser Schnellstartanleitung wird beschrieben, wie Sie mithilfe einer Azure Resource Manager-Vorlage (ARM-Vorlage) eine Azure Data Factory erstellen. Die in dieser Data Factory erstellte Pipeline kopiert Daten aus einem Ordner in einen anderen Ordner in Azure Blob Storage. Ein Tutorial zum Transformieren von Daten mithilfe von Azure Data Factory finden Sie unter Tutorial: Daten mit Spark transformieren.
Eine Azure Resource Manager-Vorlage ist eine JSON-Datei (JavaScript Object Notation), die die Infrastruktur und die Konfiguration für Ihr Projekt definiert. Die Vorlage verwendet eine deklarative Syntax. Sie beschreiben Ihre geplante Bereitstellung, ohne die Abfolge der Programmierbefehle zu schreiben, mit denen die Bereitstellung erstellt wird.
Hinweis
Dieser Artikel enthält keine ausführliche Einführung in den Data Factory-Dienst. Eine Einführung in den Azure Data Factory-Dienst finden Sie unter Einführung in Azure Data Factory.
Wenn Ihre Umgebung die Voraussetzungen erfüllt und Sie mit der Verwendung von ARM-Vorlagen vertraut sind, klicken Sie auf die Schaltfläche In Azure bereitstellen. Die Vorlage wird im Azure-Portal geöffnet.
Voraussetzungen
Azure-Abonnement
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Erstellen von Dateien
Öffnen Sie einen Text-Editor (etwa Editor), und erstellen Sie eine Datei mit dem Namen emp.txt und folgendem Inhalt:
John, Doe
Jane, Doe
Speichern Sie die Datei im Ordner C:\ADFv2QuickStartPSH. (Erstellen Sie den Ordner, falls er noch nicht vorhanden ist.)
Überprüfen der Vorlage
Die in dieser Schnellstartanleitung verwendete Vorlage stammt von der Seite mit den Azure-Schnellstartvorlagen.
{
"$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')]"
}
}
}
In der Vorlage werden Azure-Ressourcen definiert:
- Microsoft.Storage/storageAccounts: Definieren eines Speicherkontos
- Microsoft.DataFactory/factories: Erstellen einer Azure Data Factory-Instanz
- Microsoft.DataFactory/factories/linkedServices: Erstellen eines verknüpften Azure Data Factory-Diensts
- Microsoft.DataFactory/factories/datasets: Erstellen eines Azure Data Factory-Datasets
- Microsoft.DataFactory/factories/pipelines: Erstellen einer Azure Data Factory-Pipeline
Weitere Azure Data Factory-Vorlagenbeispiele finden Sie im Schnellstartvorlagenkatalog.
Bereitstellen der Vorlage
Klicken Sie auf das folgende Bild, um sich bei Azure anzumelden und eine Vorlage zu öffnen. Die Vorlage erstellt ein Azure Data Factory-Konto, ein Speicherkonto und einen Blobcontainer.
Wählen Sie die folgenden Werte aus, bzw. geben Sie sie ein.
Sofern nicht anders angegeben, verwenden Sie die Standardwerte, um die Azure Data Factory-Ressourcen zu erstellen:
- Abonnement: Wählen Sie ein Azure-Abonnement aus.
- Ressourcengruppe: Wählen Sie die Option Neu erstellen aus, geben Sie einen eindeutigen Namen für die Ressourcengruppe ein, und wählen Sie dann OK aus.
- Region: Wählen Sie einen Standort aus. Beispiel: USA, Osten
- Data Factory-Name: Verwenden Sie den Standardwert.
- Standort: Verwenden Sie den Standardwert.
- Speicherkontoname: Verwenden Sie den Standardwert.
- Blobcontainer: Verwenden Sie den Standardwert.
Überprüfen der bereitgestellten Ressourcen
Wählen Sie Zu Ressourcengruppe wechseln aus.
Vergewissern Sie sich, dass Ihre Azure Data Factory-Instanz erstellt wurde.
- Ihr Azure Data Factory-Name hat das Format „datafactory<uniqueid>“.
Vergewissern Sie sich, dass Ihr Speicherkonto erstellt wurde.
- Der Speicherkontoname hat das Format „storage<uniqueid>“.
Wählen Sie den Namen des erstellten Speicherkontos und anschließend die Option Container aus.
- Wählen Sie auf der Seite Container den erstellten Blobcontainer aus.
- Der Blobcontainername hat das Format „blob<uniqueid>“.
- Wählen Sie auf der Seite Container den erstellten Blobcontainer aus.
Hochladen einer Datei
Wählen Sie auf der Seite Container die Option Hochladen aus.
Wählen Sie im rechten Bereich das Feld Dateien aus, navigieren Sie zu der zuvor erstellten Datei emp.txt, und wählen Sie sie aus.
Erweitern Sie die Überschrift Erweitert.
Geben Sie im Feld In Ordner hochladen den Namen input ein.
Wählen Sie die Schaltfläche Hochladen. Daraufhin sollten in der Liste die Datei emp.txt und der Status des Uploads angezeigt werden.
Wählen Sie das Symbol Schließen (das X) aus, um die Seite Blob hochladen zu schließen.
Lassen Sie die Seite „Container“ geöffnet, da Sie dort am Ende dieses Schnellstarts die Ausgabe überprüfen können.
Starten des Triggers
Navigieren Sie zur Seite Data Factorys, und wählen Sie die von Ihnen erstellte Data Factory aus.
Wählen Sie auf der Kachel Open Azure Data Factory Studio (Öffnen von Azure Data Factory Studio) Open (Öffnen) aus.
Wählen Sie die Registerkarte Ersteller aus.
Wählen Sie die erstellte Pipeline „ArmtemplateSampleCopyPipeline“ aus.
Wählen Sie Trigger hinzufügen>Trigger Now (Jetzt auslösen) aus.
Wählen Sie im rechten Bereich unter Pipelineausführungdie Option OK aus.
Überwachen der Pipeline
Wählen Sie die Registerkarte Überwachen aus.
Sie sehen die Aktivitätsausführungen, die der Pipelineausführung zugeordnet sind. In dieser Schnellstartanleitung verfügt die Pipeline nur über eine Aktivität vom Typ „Kopieren“. Aus diesem Grund wird eine Ausführung für diese Aktivität angezeigt.
Überprüfen der Ausgabedatei
Die Pipeline erstellt automatisch einen Ausgabeordner im Blobcontainer Anschließend wird die Datei „emp.txt“ aus dem Eingabe- in den Ausgabeordner kopiert.
Wählen Sie im Azure-Portal auf der Seite Container die Option Aktualisieren aus, um den Ausgabeordner anzuzeigen.
Wählen Sie in der Ordnerliste output aus.
Überprüfen Sie, ob die Datei emp.txt in den Ausgabeordner kopiert wurde.
Bereinigen von Ressourcen
Die im Rahmen dieser Schnellstartanleitung erstellten Ressourcen können auf zwei Arten bereinigt werden. Sie können die Azure-Ressourcengruppe einschließlich aller darin enthaltenen Ressourcen löschen. Falls die anderen Ressourcen erhalten bleiben sollen, löschen Sie nur die Data Factory, die Sie in diesem Tutorial erstellt haben.
Wenn Sie eine Ressourcengruppe löschen, werden alle Ressourcen einschließlich enthaltener Data Factorys gelöscht. Führen Sie den folgenden Befehl aus, um die gesamte Ressourcengruppe zu löschen:
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Wenn Sie nur die Data Factory und nicht die gesamte Ressourcengruppe löschen möchten, führen Sie den folgenden Befehl aus:
Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName
Zugehöriger Inhalt
In dieser Schnellstartanleitung haben Sie mithilfe einer ARM-Vorlage eine Azure Data Factory-Instanz erstellt und die Bereitstellung überprüft. Weitere Informationen zu Azure Data Factory und Azure Resource Manager finden Sie in den folgenden Artikeln:
- Azure Data Factory-Dokumentation
- Lesen Sie weitere Informationen zu Azure Resource Manager.
- Weitere Azure Data Factory-ARM-Vorlagen