Snabbstart: Skapa en Azure Data Factory arm-mall
GÄLLER FÖR:
Azure Data Factory
Azure Synapse Analytics
Den här snabbstarten beskriver hur du använder en Azure Resource Manager (ARM-mall) för att skapa en Azure-datafabrik. Den pipeline du skapar i den här datafabriken kopierar data från en mapp till en annan mapp i Azure Blob Storage. Om du vill se en självstudie som visar hur du omvandlar data med Azure Data Factory går du till Tutorial: Transform data using Spark (Självstudie: Omvandla data med Spark).
En ARM-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för ditt projekt. Mallen använder deklarativ syntax. I deklarativ syntax beskriver du din avsedda distribution utan att skriva sekvensen med programmeringskommandon för att skapa den.
Anteckning
Den här artikeln ger inte någon detaljerad introduktion till Azure Data Factory-tjänsten. En introduktion till Azure Data Factory-tjänsten finns i Introduktion till Azure Data Factory.
Om din miljö uppfyller förhandskraven och du är van att använda ARM-mallar väljer du knappen Distribuera till Azure. Mallen öppnas på Azure-portalen.
Krav
Azure-prenumeration
Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Skapa en fil
Öppna en textredigerare, till Anteckningar, och skapa en fil emp.txt med följande innehåll:
John, Doe
Jane, Doe
Spara filen i mappen C:\ADFv2QuickStartPSH. (Om mappen inte redan finns skapar du den.)
Granska mall
Mallen som används i den här snabbstarten kommer från Azure-snabbstartsmallar.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.4.412.5873",
"templateHash": "5138689633595887430"
}
},
"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."
}
}
},
"functions": [],
"variables": {
"dataFactoryLinkedServiceName": "ArmtemplateStorageLinkedService",
"dataFactoryDataSetInName": "ArmtemplateTestDatasetIn",
"dataFactoryDataSetOutName": "ArmtemplateTestDatasetOut",
"pipelineName": "ArmtemplateSampleCopyPipeline"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-04-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2"
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2021-04-01",
"name": "[format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName'))]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
]
},
{
"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')), '2021-04-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": "[format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName'))]",
"folderPath": "input",
"fileName": "emp.txt"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices/containers', split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[0], split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[1], split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[2])]",
"[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": "[format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName'))]",
"folderPath": "output"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices/containers', split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[0], split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[1], split(format('{0}/default/{1}', parameters('storageAccountName'), parameters('blobContainerName')), '/')[2])]",
"[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",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "AzureBlobStorageWriterSettings"
}
},
"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'))]"
]
}
]
}
Det finns Azure-resurser som definierats i mallen:
- Microsoft. Storage/storageAccounts: Definierarett lagringskonto.
- Microsoft.DataFactory/factories:Skapa en Azure Data Factory.
- Microsoft.DataFactory/factories/linkedServices:Skapa en Azure Data Factory länkad tjänst.
- Microsoft.DataFactory/factories/datasets:Skapa en Azure Data Factory datauppsättning.
- Microsoft.DataFactory/factories/pipelines:Skapa en Azure Data Factory pipeline.
Fler Azure Data Factory mallexempel finns i snabbstartsmallgalleriet.
Distribuera mallen
Välj följande bild för att logga in på Azure och öppna en mall. Mallen skapar ett Azure Data Factory, ett lagringskonto och en blobcontainer.
Välj eller ange följande värden.
Om det inte anges använder du standardvärdena för att skapa Azure Data Factory resurser:
- Prenumeration: Välj en Azure-prenumeration.
- Resursgrupp: Välj Skapa ny, ange ett unikt namn för resursgruppen och välj sedan OK.
- Region: Välj en plats. Till exempel USA, östra.
- Data Factory: Använd standardvärdet.
- Plats: Använd standardvärdet.
- Storage kontonamn: Använd standardvärdet.
- Blobcontainer: Använd standardvärdet.
Granska distribuerade resurser
Välj Gå till resursgruppen.
Kontrollera att Azure Data Factory har skapats.
- Namnet Azure Data Factory är i formatet – datafaktorn <uniqueid> .
Kontrollera att ditt lagringskonto har skapats.
- Namnet på lagringskontot har formatet - storage <uniqueid> .
Välj det lagringskonto som skapades och välj sedan Containrar.
- På sidan Containrar väljer du den blobcontainer som du skapade.
- Namnet på blobcontainern har formatet blob <uniqueid> .
- På sidan Containrar väljer du den blobcontainer som du skapade.
Ladda upp en fil
På sidan Containrar väljer du Upload.
I den högra rutan väljer du rutan Filer och bläddrar sedan till och väljer emp.txt som du skapade tidigare.
Expandera rubriken Avancerat.
I rutan Upload till mapp anger du indata.
Välj knappen Ladda upp. Du bör se filen emp.txt och uppladdningens status i listan.
Välj ikonen Stäng (ett X) för att stänga Upload blob-sidan.
Håll containersidan öppen eftersom du kan använda den för att verifiera utdata i slutet av den här snabbstarten.
Starta utlösare
Gå till sidan Datafabriker och välj den datafabrik som du skapade.
Välj Öppna på panelen Öppna Azure Data Factory Studio.
Välj fliken
Författare.Välj den pipeline som skapades – ArmtemplateSampleCopyPipeline.
Välj Lägg till > utlösare nu.
I den högra rutan under Pipeline run (Pipelinekörning) väljer du OK.
Övervaka pipeline
Välj fliken
Övervaka.Du ser att aktiviteten som körs är associerad med pipelinekörningen. I den här snabbstarten har pipelinen endast en aktivitet av typen: kopiera. Därför visas en körning för den aktiviteten.
Verifiera utdatafilen
Pipelinen skapar automatiskt en utdatamapp i blobcontainern. Filen emp.txt kopieras från indatamappen till utdatamappen.
I Azure Portal på sidan Containrar väljer du Uppdatera för att se utdatamappen.
Välj utdata i mapplistan.
Kontrollera att emp.txt har kopierats till utdatamappen.
Rensa resurser
Du kan rensa de resurser som du skapade i snabbstarten på två sätt. Du kan ta bort Azure-resursgruppen, som innehåller alla resurser i resursgruppen. Om du vill behålla de andra resurserna intakta ska du bara ta bort den datafabrik du har skapat i den här självstudiekursen.
När du tar bort en resursgrupp tas alla resurser inklusive datafabriker i den bort. Kör följande kommando om du vill ta bort hela resursgruppen:
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Om du bara vill ta bort datafabriken och inte hela resursgruppen kör du följande kommando:
Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName
Nästa steg
I den här snabbstarten skapade du en Azure Data Factory med hjälp av en ARM-mall och verifierade distributionen. Mer information om Azure Data Factory och Azure Resource Manager finns i artiklarna nedan.
- Azure Data Factory dokumentation
- Läs mer om Azure Resource Manager
- Hämta andra Azure Data Factory ARM-mallar