Snabbstart: Skapa en Azure Data Factory med hjälp av ARM-mall
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Den här snabbstarten beskriver hur du använder en Azure Resource Manager-mall (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 Azure Resource Manager-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för projektet. Mallen använder deklarativ syntax. Du beskriver den avsedda distributionen utan att skriva sekvensen med programmeringskommandon för att skapa distributionen.
Kommentar
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.
Förutsättningar
Azure-prenumeration
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Skapa en fil
Öppna en textredigerare, till exempel Anteckningar, och skapa en fil med namnet 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.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')]"
}
}
}
Det finns Azure-resurser som definierats i mallen:
- Microsoft.Storage/storageAccounts: Definierar ett lagringskonto.
- Microsoft.DataFactory/fabriker: Skapa en Azure Data Factory.
- Microsoft.DataFactory/fabriker/linkedServices: Skapa en länkad Azure Data Factory-tjänst.
- Microsoft.DataFactory/fabriker/datauppsättningar: Skapa en Azure Data Factory-datauppsättning.
- Microsoft.DataFactory/fabriker/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-konto, 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-resurserna:
- 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-namn: Använd standardvärdet.
- Plats: Använd standardvärdet.
- Lagringskontonamn: Använd standardvärdet.
- Blobcontainer: Använd standardvärdet.
Granska distribuerade resurser
Välj Gå till resursgrupp.
Kontrollera att Azure Data Factory har skapats.
- Ditt Azure Data Factory-namn är i formatet – datafactory<uniqueid>.
Kontrollera att ditt lagringskonto har skapats.
- Namnet på lagringskontot är i formatet – storage<uniqueid>.
Välj det lagringskonto som skapats och välj sedan Containrar.
- På sidan Containrar väljer du den blobcontainer som du skapade.
- Namnet på blobcontainern är i formatet – blob<uniqueid>.
- På sidan Containrar väljer du den blobcontainer som du skapade.
Ladda upp en fil
På sidan Containrar väljer du Ladda upp.
I det högra fönstret väljer du rutan Filer och bläddrar sedan till och väljer den emp.txt fil som du skapade tidigare.
Expandera rubriken Avancerat .
I rutan Ladda upp 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 sidan Ladda upp blob.
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 skapats – ArmtemplateSampleCopyPipeline.
Välj Lägg till utlösare>nu.
I den högra rutan under Pipelinekörning väljer du OK.
Övervaka pipelinen
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-portalen går du till sidan Containrar och väljer 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 den Azure-resursgrupp 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
Relaterat innehåll
I den här snabbstarten skapade du en Azure Data Factory med hjälp av en ARM-mall och verifierade distributionen. Om du vill veta mer om Azure Data Factory och Azure Resource Manager fortsätter du till artiklarna nedan.
- Dokumentation om Azure Data Factory
- Läs mer om Azure Resource Manager
- Hämta andra Arm-mallar för Azure Data Factory