Snabbstart: Skapa en Azure Data Factory med Hjälp av Azure CLI
Den här snabbstarten beskriver hur du använder Azure CLI för att skapa en Azure Data Factory. Pipelinen som du skapar i den här datafabriken kopierar data från en mapp till en annan mapp i en Azure Blob Storage. Information om hur du transformerar data med Azure Data Factory finns i Transformera data i Azure Data Factory.
En introduktion till Azure Data Factory-tjänsten finns i Introduktion till Azure Data Factory.
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Kommentar
Om du vill skapa Data Factory-instanser måste det användarkonto du använder för att logga in på Azure vara medlem av rollerna deltagare eller ägare, eller vara administratör för Azure-prenumerationen. Mer information finns i Azure-roller.
Förbereda en container och testfil
Den här snabbstarten använder ett Azure Storage-konto, som innehåller en container med en fil.
Om du vill skapa en resursgrupp med namnet
ADFQuickStartRG
använder du kommandot az group create :az group create --name ADFQuickStartRG --location eastus
Skapa ett lagringskonto med kommandot az storage account create :
az storage account create --resource-group ADFQuickStartRG \ --name adfquickstartstorage --location eastus
Skapa en container med namnet
adftutorial
med kommandot az storage container create :az storage container create --resource-group ADFQuickStartRG --name adftutorial \ --account-name adfquickstartstorage --auth-mode key
I den lokala katalogen skapar du en fil med namnet som ska
emp.txt
laddas upp. Om du arbetar i Azure Cloud Shell kan du hitta den aktuella arbetskatalogenecho $PWD
med hjälp av Bash-kommandot. Du kan använda Standard Bash-kommandon, till exempelcat
, för att skapa en fil:cat > emp.txt This is text.
Spara den nya filen med Ctrl+D .
Om du vill ladda upp den nya filen till din Azure Storage-container använder du kommandot az storage blob upload :
az storage blob upload --account-name adfquickstartstorage --name input/emp.txt \ --container-name adftutorial --file emp.txt --auth-mode key
Det här kommandot laddas upp till en ny mapp med namnet
input
.
Skapa en datafabrik
Om du vill skapa en Azure-datafabrik kör du kommandot az datafactory create :
az datafactory create --resource-group ADFQuickStartRG \
--factory-name ADFTutorialFactory
Viktigt!
Ersätt ADFTutorialFactory
med ett globalt unikt datafabriksnamn, till exempel ADFTutorialFactorySP1127.
Du kan se datafabriken som du skapade med kommandot az datafactory show :
az datafactory show --resource-group ADFQuickStartRG \
--factory-name ADFTutorialFactory
Skapa en länkad tjänst och datauppsättningar
Skapa sedan en länkad tjänst och två datauppsättningar.
Hämta anslutningssträng för ditt lagringskonto med kommandot az storage account show-connection-string:
az storage account show-connection-string --resource-group ADFQuickStartRG \ --name adfquickstartstorage --key primary
I arbetskatalogen skapar du en JSON-fil med det här innehållet, som innehåller dina egna anslutningssträng från föregående steg. Ge filen
AzureStorageLinkedService.json
namnet :{ "type": "AzureBlobStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net" } }
Skapa en länkad tjänst med namnet
AzureStorageLinkedService
, med kommandot az datafactory linked-service create :az datafactory linked-service create --resource-group ADFQuickStartRG \ --factory-name ADFTutorialFactory --linked-service-name AzureStorageLinkedService \ --properties AzureStorageLinkedService.json
I arbetskatalogen skapar du en JSON-fil med det här innehållet med namnet
InputDataset.json
:{ "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "fileName": "emp.txt", "folderPath": "input", "container": "adftutorial" } } }
Skapa en indatauppsättning med namnet
InputDataset
med kommandot az datafactory dataset create :az datafactory dataset create --resource-group ADFQuickStartRG \ --dataset-name InputDataset --factory-name ADFTutorialFactory \ --properties InputDataset.json
I arbetskatalogen skapar du en JSON-fil med det här innehållet med namnet
OutputDataset.json
:{ "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "folderPath": "output", "container": "adftutorial" } } }
Skapa en utdatauppsättning med namnet
OutputDataset
med kommandot az datafactory dataset create :az datafactory dataset create --resource-group ADFQuickStartRG \ --dataset-name OutputDataset --factory-name ADFTutorialFactory \ --properties OutputDataset.json
Skapa och köra pipelinen
Skapa och kör slutligen pipelinen.
I arbetskatalogen skapar du en JSON-fil med det här innehållet med namnet
Adfv2QuickStartPipeline.json
:{ "name": "Adfv2QuickStartPipeline", "properties": { "activities": [ { "name": "CopyFromBlobToBlob", "type": "Copy", "dependsOn": [], "policy": { "timeout": "7.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "source": { "type": "BinarySource", "storeSettings": { "type": "AzureBlobStorageReadSettings", "recursive": true } }, "sink": { "type": "BinarySink", "storeSettings": { "type": "AzureBlobStorageWriteSettings" } }, "enableStaging": false }, "inputs": [ { "referenceName": "InputDataset", "type": "DatasetReference" } ], "outputs": [ { "referenceName": "OutputDataset", "type": "DatasetReference" } ] } ], "annotations": [] } }
Skapa en pipeline med namnet
Adfv2QuickStartPipeline
med kommandot az datafactory pipeline create :az datafactory pipeline create --resource-group ADFQuickStartRG \ --factory-name ADFTutorialFactory --name Adfv2QuickStartPipeline \ --pipeline Adfv2QuickStartPipeline.json
Kör pipelinen med kommandot az datafactory pipeline create-run :
az datafactory pipeline create-run --resource-group ADFQuickStartRG \ --name Adfv2QuickStartPipeline --factory-name ADFTutorialFactory
Det här kommandot returnerar ett körnings-ID. Kopiera den för användning i nästa kommando.
Kontrollera att pipelinekörningen lyckades med kommandot az datafactory pipeline-run show :
az datafactory pipeline-run show --resource-group ADFQuickStartRG \ --factory-name ADFTutorialFactory --run-id 00000000-0000-0000-0000-000000000000
Du kan också kontrollera att din pipeline kördes som förväntat med hjälp av Azure-portalen. Mer information finns i Granska distribuerade resurser.
Rensa resurser
Alla resurser i den här snabbstarten ingår i samma resursgrupp. Om du vill ta bort alla använder du kommandot az group delete :
az group delete --name ADFQuickStartRG
Om du använder den här resursgruppen för något annat tar du i stället bort enskilda resurser. Om du till exempel vill ta bort den länkade tjänsten använder du kommandot az datafactory linked-service delete .
I den här snabbstarten skapade du följande JSON-filer:
- AzureStorageLinkedService.json
- InputDataset.json
- OutputDataset.json
- Adfv2QuickStartPipeline.json
Ta bort dem med bash-standardkommandon.