Quickstart: Een Azure Data Factory maken met behulp van een ARM-sjabloon
VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics
Tip
Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .
In deze quickstart wordt beschreven hoe u een Azure Resource Manager-sjabloon (ARM) gebruikt om een Azure Data Factory te maken. Met de pijplijn die u in deze data factory maakt, worden gegevens gekopieerd van één map naar een andere map in een Azure Blob Storage. Zie Zelfstudie: Gegevens transformeren met Spark voor meer informatie over het transformeren van gegevens met Azure Data Factory.
Een Azure Resource Manager-sjabloon is een JSON-bestand (JavaScript Object Notation) dat de infrastructuur en configuratie voor uw project definieert. Voor de sjabloon is declaratieve syntaxis vereist. U beschrijft de beoogde implementatie zonder de reeks programmeeropdrachten te schrijven om de implementatie te maken.
Notitie
Dit artikel is geen gedetailleerde introductie tot de Data Factory-service. Zie Inleiding tot Azure Data Factory voor een inleiding tot Azure Data Factory-service.
Als uw omgeving voldoet aan de vereisten en u benkend bent met het gebruik van ARM-sjablonen, selecteert u de knop Implementeren naar Azure. De sjabloon wordt in Azure Portal geopend.
Vereisten
Azure-abonnement
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Een bestand maken
Open een tekstverwerker zoals Kladblok en maak een bestand met de naam emp.txt met de volgende inhoud:
John, Doe
Jane, Doe
Sla het bestand op in de map c:\ADFv2QuickStartPSH. (Maak de map als deze nog niet bestaat.)
Sjabloon controleren
De sjabloon die in deze quickstart wordt gebruikt, komt uit Azure-snelstartsjablonen.
{
"$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')]"
}
}
}
Er zijn Azure-resources gedefinieerd in de sjabloon:
- Microsoft.Storage/storageAccounts: Definieert een opslagaccount.
- Microsoft.DataFactory/factory's: Maak een Azure Data Factory.
- Microsoft.DataFactory/factorys/linkedServices: Maak een gekoppelde Azure Data Factory-service.
- Microsoft.DataFactory/factory's/gegevenssets: maak een Azure Data Factory-gegevensset.
- Microsoft.DataFactory/factory's/pipelines: Maak een Azure Data Factory-pijplijn.
Meer voorbeelden van Azure Data Factory-sjablonen vindt u in de galerie met quickstart-sjablonen.
De sjabloon implementeren
Selecteer de volgende afbeelding om u aan te melden bij Azure en een sjabloon te openen. Met de sjabloon worden een Azure Data Factory-account, een opslagaccount en een blobcontainer gemaakt.
Typ of selecteer de volgende waarden.
Gebruik de standaardwaarden om de Azure Data Factory-resources te maken, tenzij er iets anders is aangegeven:
- Subscription: selecteer een Azure-abonnement.
- Resourcegroep: Selecteer Nieuwe maken, voer een unieke naam in voor de resourcegroep en selecteer VERVOLGENS OK.
- Regio: Selecteer een locatie. Bijvoorbeeld VS - Oost.
- Data Factory-naam: gebruik de standaardwaarde.
- Locatie: Gebruik de standaardwaarde.
- Naam van opslagaccount: gebruik de standaardwaarde.
- Blobcontainer: gebruik de standaardwaarde.
Geïmplementeerde resources bekijken
Selecteer Naar de resourcegroep gaan.
Verifieer dat uw Azure Data Factory is gemaakt.
- Uw Azure Data Factory-naam heeft de indeling - datafactory<uniqueid>.
Verifieer dat uw opslagaccount is gemaakt.
- De naam van het opslagaccount heeft de indeling : unieke opslag-id<>.
Selecteer het gemaakte opslagaccount en selecteer vervolgens Containers.
- Selecteer op de pagina Containers de blobcontainer die u hebt gemaakt.
- De naam van de blobcontainer heeft de indeling - blob<uniqueid>.
- Selecteer op de pagina Containers de blobcontainer die u hebt gemaakt.
Een bestand uploaden
Selecteer op de pagina Containers de optie Uploaden.
Selecteer in het rechterdeelvenster het vak Bestanden, blader naar het bestand emp.txt dat u eerder hebt gemaakt, en selecteer het.
Vouw de kop Geavanceerd uit.
In het vak Uploaden naar map voert u invoer in.
Selecteer de knop Uploaden. Als het goed is, ziet u in de lijst nu het bestand emp.txt, evenals de uploadstatus hiervan.
Selecteer het pictogram Sluiten (X) om de pagina Blob uploaden te sluiten.
Laat de containerpagina openstaan, want u kunt deze aan het eind van deze quickstart gebruiken om de uitvoer te verifiëren.
Trigger starten
Ga naar de pagina Data factory's en selecteer de data factory die u hebt gemaakt.
Selecteer Openen op de tegel Azure Data Factory Studio openen.
Selecteer het tabblad Auteur.
Selecteer de gemaakte pijplijn - ArmtemplateSampleCopyPipeline.
Selecteer Trigger toevoegen>Nu activeren.
In het rechterdeelvenster onder Pijplijnuitvoering selecteert u OK.
De pijplijn bewaken
Selecteer het tabblad Monitor.
U ziet de uitvoering van de activiteiten die zijn gekoppeld aan de pijplijnuitvoering. In deze QuickStart heeft de pijplijn slechts één activiteit en wel van het type Kopiëren. Daarom ziet u een uitvoering voor die activiteit.
Het uitvoerbestand verifiëren
De uitvoermap wordt automatisch door de pijplijn gemaakt in de blobcontainer. Vervolgens wordt het bestand emp.txt gekopieerd van de invoermap naar de uitvoermap.
Selecteer in de Azure-portal op de pagina Containers de optie Vernieuwen om de uitvoermap weer te geven.
Selecteer Uitvoer in de lijst met mappen.
Controleer of het bestand emp.txt naar de uitvoermap is gekopieerd.
Resources opschonen
De resources die u hebt gemaakt in de Quick Start kunt u op twee manieren opschonen. U kunt de Azure-resourcegroep verwijderen, met alle resources uit de resourcegroep. Als u de andere resources intact wilt houden, verwijdert u alleen de data factory die u in deze zelfstudie hebt gemaakt.
Als u een resourcegroep verwijdert, worden alle resources die deze bevat, met inbegrip van de data factory's, ook verwijderd. Voer de volgende opdracht uit om de gehele resourcegroep te verwijderen:
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Als u alleen de data factory wilt verwijderen en niet de gehele resourcegroep, moet u de volgende opdracht uitvoeren:
Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName
Gerelateerde inhoud
In deze quickstart hebt u een Azure Data Factory gemaakt met behulp van een ARM-sjabloon en de implementatie gevalideerd. Als u meer wilt weten over Azure Data Factory en Azure Resource Manager, vindt u meer informatie in de onderstaande artikelen.
- Documentatie voor Azure Data Factory
- Meer informatie over Azure Resource Manager
- Andere Azure Data Factory ARM-sjablonen ophalen