Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory in Microsoft Fabric is de volgende generatie van Azure Data Factory, met een eenvoudigere architectuur, ingebouwde AI en nieuwe functies. Als u nieuw bent in gegevensintegratie, begint u met Fabric Data Factory. Bestaande ADF-workloads kunnen upgraden naar Fabric om toegang te krijgen tot nieuwe mogelijkheden voor gegevenswetenschap, realtime analyses en rapportage.
In deze zelfstudie gebruikt u Azure PowerShell om een data factory-pijplijn te maken waarmee gegevens uit een SQL Server-database worden gekopieerd naar Azure Blob-opslag. U maakt en gebruikt een zelf-gehoste Integration Runtime, die gegevens verplaatst tussen on-premises en cloudgegevensarchieven.
Notitie
Dit artikel is geen gedetailleerde introductie tot de Data Factory-service. Zie Inleiding tot Azure Data Factory voor meer informatie.
In deze zelfstudie voert u de volgende stappen uit:
- Een data factory maken.
- Een zelf-hostende Integration Runtime maken.
- Maak SQL Server en Azure Storage gekoppelde services.
- Maak datasets voor SQL Server en Azure Blob.
- Maak een pijplijn met een kopieeractiviteit om de gegevens te verplaatsen.
- Een pijplijnuitvoering starten.
- Controleer de pijplijnuitvoering.
Vereisten
Azure-abonnement
Als u nog geen Azure abonnement hebt, maakt u een gratis account voordat u begint.
Azure-rollen
Als u data factory-exemplaren wilt maken, moet het gebruikersaccount dat u gebruikt om u aan te melden bij Azure zijn toegewezen aan een rol Contributor of Owner of moet een administrator van het Azure-abonnement zijn.
Als u de machtigingen wilt bekijken die u in het abonnement hebt, gaat u naar de Azure-portal, selecteert u uw gebruikersnaam in de rechterbovenhoek en selecteert u vervolgens machtigingen. Als u toegang tot meerdere abonnementen hebt, moet u het juiste abonnement selecteren. Zie het artikel Assign Azure roles using the Azure portal article voor voorbeeldinstructies voor het toevoegen van een gebruiker aan een rol.
SQL Server 2014, 2016 en 2017
In deze zelfstudie gebruikt u een SQL Server-database als een source gegevensarchief. De pijplijn in de data factory die u in deze zelfstudie maakt, kopieert gegevens van deze SQL Server database (bron) naar Azure Blob Storage (sink). Vervolgens maakt u een tabel met de naam emp in de SQL Server-database en voegt u een aantal voorbeeldvermeldingen in de tabel in.
Start SQL Server Management Studio. Als deze nog niet op uw computer is geïnstalleerd, gaat u naar Download SQL Server Management Studio.
Maak verbinding met uw SQL Server-exemplaar met uw inloggegevens.
Maak een voorbeelddatabase. Klik in de structuurweergave met de rechtermuisknop op Databases en selecteer Nieuwe database.
Voer in het venster Nieuwe database een naam in voor de database en selecteer OK.
Voer het volgende queryscript uit voor de database. Hiermee wordt de emp-tabel gemaakt en worden enkele voorbeeldgegevens ingevoegd in deze tabel. In de structuurweergave klikt u met de rechtermuisknop op de database die u hebt gemaakt en selecteert u Nieuwe query.
CREATE TABLE dbo.emp ( ID int IDENTITY(1,1) NOT NULL, FirstName varchar(50), LastName varchar(50) ) GO INSERT INTO emp (FirstName, LastName) VALUES ('John', 'Doe') INSERT INTO emp (FirstName, LastName) VALUES ('Jane', 'Doe') GO
Azure Storage-account
In deze handleiding gebruikt u een algemeen opslagaccount in Azure (met name Azure Blob Storage) als doelgegevensopslag. Als u geen algemeen Azure opslagaccount hebt, raadpleegt u Maak een opslagaccount. De pijplijn in de data factory die u in deze zelfstudie maakt, kopieert gegevens van de SQL Server-database (bron) naar deze Azure Blob-opslag (sink).
De naam en sleutel van een opslagaccount ophalen
In deze zelfstudie gebruikt u de naam en sleutel van uw Azure-opslagaccount. Als u de naam en sleutel van uw opslagaccount wilt ophalen, doet u het volgende:
Meld u aan bij de Azure-portal met uw Azure gebruikersnaam en wachtwoord.
Selecteer in het linkerdeelvenster Meer services, filter met behulp van het sleutelwoord Opslag en selecteer vervolgens Opslagaccounts.
Filter in de lijst met opslagaccounts op uw opslagaccount (indien nodig) en selecteer vervolgens uw opslagaccount.
Selecteer in het venster Opslagaccount de optie Toegangssleutels.
Kopieer de waarden in de vakken opslagaccountnaam en key1 en plak deze in Kladblok of een andere editor voor later gebruik in de zelfstudie.
De container adftutorial maken
In deze sectie maakt u een blobcontainer met de naam adftutorial in uw Azure Blob-opslag.
Schakel in het venster Opslagaccount over naar Overzicht en klik vervolgens op Blobs.
Selecteer in het venster Blob-service, Container.
Voer in het venster Nieuwe container in het vak Naamadftutorial in en selecteer OK.
Selecteer adftutorial in de lijst met containers.
Houd het venster Container voor adftutorial geopend. U gebruikt het om aan het einde van de handleiding de uitvoer te controleren. In Data Factory wordt automatisch in deze container de uitvoermap gemaakt, zodat u er zelf geen hoeft te maken.
Windows PowerShell
Azure PowerShell installeren
Notitie
U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Install Azure PowerShell om aan de slag te gaan. Zie Migrate Azure PowerShell van AzureRM naar Az voor meer informatie over het migreren naar de Az PowerShell-module.
Installeer de nieuwste versie van Azure PowerShell als u deze nog niet op uw computer hebt. Zie Het installeren en configureren van Azure PowerShell voor gedetailleerde instructies.
Aanmelden bij PowerShell
Start PowerShell op uw computer en houd dit programma geopend totdat deze Quick Start-zelfstudie is afgerond. Als u het programma sluit en opnieuw opent, moet u deze opdrachten opnieuw uitvoeren.
Voer de volgende opdracht uit en voer vervolgens de Azure gebruikersnaam en het wachtwoord in waarmee u zich aanmeldt bij de Azure-portal:
Connect-AzAccountAls u meerdere Azure-abonnementen hebt, voert u de volgende opdracht uit om het abonnement te selecteren waarmee u wilt werken. Vervang SubscriptionId door de id van uw Azure-abonnement:
Select-AzSubscription -SubscriptionId "<SubscriptionId>"
Een data factory maken
Definieer een variabele voor de naam van de resourcegroep die u later gaat gebruiken in PowerShell-opdrachten. Kopieer de volgende opdracht naar PowerShell, geef een naam op voor de Azure resourcegroep (tussen dubbele aanhalingstekens; bijvoorbeeld
"adfrg") en voer de opdracht uit.$resourceGroupName = "ADFTutorialResourceGroup"Voer de volgende opdracht uit om de Azure resourcegroep te maken:
New-AzResourceGroup $resourceGroupName -location 'East US'Als de resourcegroep al bestaat, wilt u waarschijnlijk niet dat deze wordt overschreven. Wijs een andere waarde toe aan de
$resourceGroupName-variabele en voer de opdracht opnieuw uit.Definieer een variabele voor de naam van de data factory die u later kunt gebruiken in PowerShell-opdrachten. De naam moet beginnen met een letter of cijfer en mag alleen letters, cijfers en streepjes (-) bevatten.
Belangrijk
Werk de naam van de data factory zodanig bij dat deze uniek is. Bijvoorbeeld: ADFTutorialFactorySP1127.
$dataFactoryName = "ADFTutorialFactory"Definieer een variabele voor de locatie van de data factory:
$location = "East US"Voer voor het maken van de data factory de cmdlet
Set-AzDataFactoryV2uit:Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location $location -Name $dataFactoryName
Notitie
- De naam van de data factory moet wereldwijd uniek zijn. Als de volgende fout zich voordoet, wijzigt u de naam en probeert u het opnieuw.
The specified data factory name 'ADFv2TutorialDataFactory' is already in use. Data factory names must be globally unique. - Om data-factory-exemplaren te maken, aan het gebruikersaccount dat u gebruikt om u aan te melden bij Azure moet een rol van contributor of owner of een administrator van het Azure-abonnement zijn toegewezen.
- Voor een lijst met Azure regio's waarin Data Factory momenteel beschikbaar is, selecteert u de regio's die u interesseren op de volgende pagina en vouwt u vervolgens Analytics uit om Data Factory uit te vouwen: Products beschikbaar per regio. De gegevensarchieven (Azure Storage, Azure SQL Database enzovoort) en berekeningen (Azure HDInsight enzovoort) die door de data factory worden gebruikt, kunnen zich in andere regio's bevinden.
Zelf-gehoste integratie-runtime maken
In deze sectie maakt u een zelf-hostende Integration Runtime en koppelt u deze aan een on-premises machine aan de SQL Server-database. De zelf-hostende Integration Runtime is het onderdeel waarmee gegevens van de SQL Server-database op uw computer worden gekopieerd naar Azure Blob Storage.
Maak een variabele voor de naam van een Integration Runtime. Gebruik een unieke naam en noteer deze. U gaat deze verderop in de zelfstudie gebruiken.
$integrationRuntimeName = "ADFTutorialIR"Een zelf-hostende Integration Runtime maken.
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $integrationRuntimeName -Type SelfHosted -Description "selfhosted IR description"Hier volgt een voorbeeld van uitvoer:
Name : ADFTutorialIR Type : SelfHosted ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Description : selfhosted IR description Id : /subscriptions/<subscription ID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/integrationruntimes/<integrationRuntimeName>Voer de volgende opdracht uit om de status van de gemaakte Integration Runtime op te halen:
Get-AzDataFactoryV2IntegrationRuntime -name $integrationRuntimeName -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -StatusHier volgt een voorbeeld van uitvoer:
State : NeedRegistration Version : CreateTime : 9/10/2019 3:24:09 AM AutoUpdate : On ScheduledUpdateDate : UpdateDelayOffset : LocalTimeZoneOffset : InternalChannelEncryption : Capabilities : {} ServiceUrls : {eu.frontend.clouddatahub.net} Nodes : {} Links : {} Name : <Integration Runtime name> Type : SelfHosted ResourceGroupName : <resourceGroup name> DataFactoryName : <dataFactory name> Description : selfhosted IR description Id : /subscriptions/<subscription ID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/integrationruntimes/<integrationRuntimeName>Voer de volgende opdracht uit om verificatiesleutels op te halen voor het registreren van de zelf-hostende Integration Runtime met Data Factory-service in de cloud. Kopieer een van de sleutels (zonder de aanhalingstekens) om de zelf-hostende Integration Runtime te registeren die u tijdens de volgende stap op uw computer gaat installeren.
Get-AzDataFactoryV2IntegrationRuntimeKey -Name $integrationRuntimeName -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName | ConvertTo-JsonHier volgt een voorbeeld van uitvoer:
{ "AuthKey1": "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=", "AuthKey2": "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy=" }
Integration Runtime installeren
Download Azure Data Factory Integration Runtime op een lokale Windows computer en voer de installatie uit.
Selecteer in de wizard Welcome to Microsoft Integration Runtime Setup de optie Next.
Ga in het venster Gebruiksrechtovereenkomst akkoord met de voorwaarden en de gebruiksrechtovereenkomst en selecteer Volgende.
Selecteer in het venster DoelmapVolgende.
Selecteer in het venster Ready om Microsoft Integration Runtime te installeren Install.
Selecteer in de wizard Completed the Microsoft Integration Runtime Setup de optie Finish.
Plak in het venster Register Integration Runtime (zelf-hostend) de sleutel die u in de vorige sectie hebt opgeslagen en selecteer vervolgens Register.
Integration Runtime registreren
Selecteer in het venster Nieuw Integration Runtime (zelf-hostend) knooppuntVoltooien.
U ziet het volgende bericht wanneer de zelf-gehoste Integration Runtime succesvol is geregistreerd.
Selecteer in het venster Register Integration Runtime (zelf-hostend) en Launch Configuration Manager.
Wanneer het knooppunt is verbonden met de cloudservice, ziet u het volgende bericht:
Test de connectiviteit met uw SQL Server-database als volgt:
a. Schakel in het venster Configuration Manager over naar het tabblad Diagnostics.
b. Selecteer in het vak Type gegevensbronSqlServer.
c. Voer de naam van de server in.
d. Voer de naam van de database in.
e. Selecteer de verificatiemethode.
f. Voer de gebruikersnaam in.
g. Voer het wachtwoord in dat bij de gebruikersnaam hoort.
h. Selecteer Test om te bevestigen dat Integration Runtime verbinding kan maken met de SQL Server.
U ziet een groen vinkje als het gelukt is om verbinding te maken. Anders ontvangt u een foutmelding die bij de fout hoort. Los eventuele problemen op en zorg ervoor dat de integration runtime verbinding kan maken met uw SQL Server-exemplaar.
Noteer alle voorgaande waarden voor later gebruik in deze zelfstudie.
Gekoppelde services maken
Maak gekoppelde services in een data factory om uw gegevensarchieven en compute-services aan de data factory te koppelen. In deze handleiding koppelt u uw Azure opslagaccount en SQL Server exemplaar aan de datastore. De gekoppelde services beschikken over de verbindingsgegevens die de Data Factory-service tijdens runtime gebruikt om er een verbinding mee tot stand te brengen.
Een Azure Storage gekoppelde service maken (bestemming/sink)
In deze stap koppelt u uw Azure-opslagaccount aan de data factory.
Maak een JSON-bestand met de naam AzureStorageLinkedService.json in de map C:\ADFv2Tutorial met de volgende code. Maak de map ADFv2Tutorial als deze nog niet bestaat.
Belangrijk
Voordat u het bestand opslaat, vervangt u <accountName> en <accountKey> door de naam en sleutel van uw Azure-opslagaccount. U hebt deze genoteerd in de Vereisten sectie.
{ "name": "AzureStorageLinkedService", "properties": { "annotations": [], "type": "AzureBlobStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net" } } }Schakel in PowerShell over naar de map C:\ADFv2Tutorial.
Set-Location 'C:\ADFv2Tutorial'Voer om een gekoppelde service te maken met de naam AzureStorageLinkedService de volgende
Set-AzDataFactoryV2LinkedServicecmdlet uit:Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "AzureStorageLinkedService" -File ".\AzureStorageLinkedService.json"Hier volgt een voorbeelduitvoer:
LinkedServiceName : AzureStorageLinkedService ResourceGroupName : <resourceGroup name> DataFactoryName : <dataFactory name> Properties : Microsoft.Azure.Management.DataFactory.Models.AzureBlobStorageLinkedServiceAls u een "bestand niet gevonden" foutmelding krijgt, controleer dan of het bestand bestaat door de opdracht
diruit te voeren. Als de bestandsnaam de extensie .txt heeft (bijvoorbeeld AzureStorageLinkedService.json.txt), verwijdert u deze en voert u vervolgens de PowerShell-opdracht opnieuw uit.
Een SQL Server gekoppelde service (bron) maken en versleutelen
In deze stap koppelt u uw SQL Server exemplaar aan de data factory.
Maak een JSON-bestand met de naam SqlServerLinkedService.json in de map C:\ADFv2Tutorial met de volgende code:
Belangrijk
Selecteer de sectie die is gebaseerd op de verificatie die u gebruikt om verbinding te maken met SQL Server.
SQL-verificatie gebruiken (sa):
{ "name":"SqlServerLinkedService", "type":"Microsoft.DataFactory/factories/linkedservices", "properties":{ "annotations":[ ], "type":"SqlServer", "typeProperties":{ "connectionString":"integrated security=False;data source=<serverName>;initial catalog=<databaseName>;user id=<userName>;password=<password>" }, "connectVia":{ "referenceName":"<integration runtime name> ", "type":"IntegrationRuntimeReference" } } }Gebruik van Windows-authenticatie:
{ "name":"SqlServerLinkedService", "type":"Microsoft.DataFactory/factories/linkedservices", "properties":{ "annotations":[ ], "type":"SqlServer", "typeProperties":{ "connectionString":"integrated security=True;data source=<serverName>;initial catalog=<databaseName>", "userName":"<username> or <domain>\\<username>", "password":{ "type":"SecureString", "value":"<password>" } }, "connectVia":{ "referenceName":"<integration runtime name>", "type":"IntegrationRuntimeReference" } } }Belangrijk
- Selecteer de sectie die is gebaseerd op de verificatie die u gebruikt om verbinding te maken met uw SQL Server exemplaar.
- Vervang <de naam van de Integration Runtime door de naam> van uw Integration Runtime.
- Voordat u het bestand opslaat, vervangt u <servername>, <databasename>, <username> en <password> met de waarden van uw SQL Server-exemplaar.
- Als u een backslash (\) wilt gebruiken in de naam van uw gebruikersaccount of server, moet u deze voorafgaan door het escape-teken (\). Gebruik bijvoorbeeld mydomain\\myuser.
Voor het versleutelen van gevoelige gegevens (gebruikersnaam, wachtwoord, enz.), voer de
New-AzDataFactoryV2LinkedServiceEncryptedCredentialcmdlet uit.
Deze versleuteling zorgt ervoor dat de referenties zijn versleuteld met behulp van DPAPI (Data Protection Application Programming Interface). De versleutelde referenties worden lokaal op het zelf-gehoste Integration Runtime-knooppunt (lokale computer) opgeslagen. De uitvoerpayload kan worden omgeleid naar een ander JSON-bestand (in dit geval encryptedLinkedService.json). Dit bestand bevat de versleutelde referenties.New-AzDataFactoryV2LinkedServiceEncryptedCredential -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -IntegrationRuntimeName $integrationRuntimeName -File ".\SQLServerLinkedService.json" > encryptedSQLServerLinkedService.jsonVoer de volgende opdracht uit. Hiermee wordt de EncryptedSqlServerLinkedService gemaakt:
Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "EncryptedSqlServerLinkedService" -File ".\encryptedSqlServerLinkedService.json"
Gegevenssets maken
In deze stap gaat u gegevenssets voor invoer en uitvoer maken. Ze vertegenwoordigen invoer- en uitvoergegevens voor de kopieerbewerking, waarmee gegevens uit de SQL Server database worden gekopieerd naar Azure Blob-opslag.
Een gegevensset maken voor de brondatabase SQL Server
In deze stap definieert u een gegevensset die gegevens vertegenwoordigt in het SQL Server database-exemplaar. De gegevensset is van het type SqlServerTable. Deze verwijst naar de SQL Server gekoppelde service die u in de vorige stap hebt gemaakt. De gekoppelde service bevat de verbindingsgegevens die de Data Factory-service gebruikt om tijdens runtime verbinding te maken met uw SQL Server-exemplaar. Deze gegevensset bepaalt welke SQL-tabel in de database de gegevens bevat. In deze handleiding bevat de tabel emp de brongegevens.
Maak een JSON-bestand met de naam SqlServerDataset.json in de map C:\ADFv2Tutorial met de volgende code:
{ "name":"SqlServerDataset", "properties":{ "linkedServiceName":{ "referenceName":"EncryptedSqlServerLinkedService", "type":"LinkedServiceReference" }, "annotations":[ ], "type":"SqlServerTable", "schema":[ ], "typeProperties":{ "schema":"dbo", "table":"emp" } } }Voer voor het maken van de gegevensset SqlServerDataset de cmdlet
Set-AzDataFactoryV2Datasetuit.Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SqlServerDataset" -File ".\SqlServerDataset.json"Hier volgt een voorbeeld van uitvoer:
DatasetName : SqlServerDataset ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.SqlServerTableDataset
Een gegevensset maken voor Azure Blob Storage (sink)
In deze stap definieert u een gegevensset die gegevens vertegenwoordigt die worden gekopieerd naar Azure Blob-opslag. De gegevensset is van het type AzureBlob. Het verwijst naar de Azure Storage gekoppelde service die u eerder in deze zelfstudie hebt gemaakt.
De gekoppelde service bevat de verbindingsgegevens die de data factory tijdens runtime gebruikt om verbinding te maken met uw Azure opslagaccount. Deze gegevensset geeft de map in de Azure-opslag op waarnaar de gegevens uit de SQL Server-database worden gekopieerd. In deze zelfstudie is de map adftutorial/fromonprem, waarbij adftutorial de blobcontainer is en fromonprem de map.
Maak een JSON-bestand met de naam AzureBlobDataset.json in de map C:\ADFv2Tutorial met de volgende code:
{ "name":"AzureBlobDataset", "properties":{ "linkedServiceName":{ "referenceName":"AzureStorageLinkedService", "type":"LinkedServiceReference" }, "annotations":[ ], "type":"DelimitedText", "typeProperties":{ "location":{ "type":"AzureBlobStorageLocation", "folderPath":"fromonprem", "container":"adftutorial" }, "columnDelimiter":",", "escapeChar":"\\", "quoteChar":"\"" }, "schema":[ ] }, "type":"Microsoft.DataFactory/factories/datasets" }Voer voor het maken van de gegevensset AzureBlobDataset de cmdlet
Set-AzDataFactoryV2Datasetuit.Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureBlobDataset" -File ".\AzureBlobDataset.json"Hier volgt een voorbeeld van uitvoer:
DatasetName : AzureBlobDataset ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.DelimitedTextDataset
Een pipeline maken
In deze tutorial creëert u een pijplijn met een kopieeractiviteit. Tijdens de kopieeractiviteit wordt de SqlServerDataset als invoergegevensset en AzureBlobDataset als de uitvoergegevensset gebruikt. Het brontype is ingesteld op SqlSource en het sinktype is ingesteld op BlobSink.
Maak een JSON-bestand met de naam SqlServerToBlobPipeline.json in de map C:\ADFv2Tutorial met de volgende code:
{ "name":"SqlServerToBlobPipeline", "properties":{ "activities":[ { "name":"CopySqlServerToAzureBlobActivity", "type":"Copy", "dependsOn":[ ], "policy":{ "timeout":"7.00:00:00", "retry":0, "retryIntervalInSeconds":30, "secureOutput":false, "secureInput":false }, "userProperties":[ ], "typeProperties":{ "source":{ "type":"SqlServerSource" }, "sink":{ "type":"DelimitedTextSink", "storeSettings":{ "type":"AzureBlobStorageWriteSettings" }, "formatSettings":{ "type":"DelimitedTextWriteSettings", "quoteAllText":true, "fileExtension":".txt" } }, "enableStaging":false }, "inputs":[ { "referenceName":"SqlServerDataset", "type":"DatasetReference" } ], "outputs":[ { "referenceName":"AzureBlobDataset", "type":"DatasetReference" } ] } ], "annotations":[ ] } }De pijplijn SqlServerToBlobPipeline maken: voer de
Set-AzDataFactoryV2Pipelinecmdlet uit.Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SQLServerToBlobPipeline" -File ".\SQLServerToBlobPipeline.json"Hier volgt een voorbeeld van uitvoer:
PipelineName : SQLServerToBlobPipeline ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Activities : {CopySqlServerToAzureBlobActivity} Parameters :
Een pijplijnrun maken
Start een uitvoering van de SQLServerToBlobPipeline pijplijn en leg de ID voor de pijplijnuitvoering vast voor toekomstige bewaking.
$runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName 'SQLServerToBlobPipeline'
De pijplijnrun controleren.
Voer het volgende script in PowerShell uit om continu de uitvoeringsstatus van de pijplijn SQLServerToBlobPipeline te controleren, en druk het eindresultaat af:
while ($True) { $result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $runId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30) if (($result | Where-Object { $_.Status -eq "InProgress" } | Measure-Object).count -ne 0) { Write-Host "Pipeline run status: In Progress" -foregroundcolor "Yellow" Start-Sleep -Seconds 30 } else { Write-Host "Pipeline 'SQLServerToBlobPipeline' run finished. Result:" -foregroundcolor "Yellow" $result break } }Hier volgt een voorbeeld van de voorbeelduitvoering:
ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> ActivityRunId : 24af7cf6-efca-4a95-931d-067c5c921c25 ActivityName : CopySqlServerToAzureBlobActivity ActivityType : Copy PipelineRunId : 7b538846-fd4e-409c-99ef-2475329f5729 PipelineName : SQLServerToBlobPipeline Input : {source, sink, enableStaging} Output : {dataRead, dataWritten, filesWritten, sourcePeakConnections...} LinkedServiceName : ActivityRunStart : 9/11/2019 7:10:37 AM ActivityRunEnd : 9/11/2019 7:10:58 AM DurationInMs : 21094 Status : Succeeded Error : {errorCode, message, failureType, target} AdditionalProperties : {[retryAttempt, ], [iterationHash, ], [userProperties, {}], [recoveryStatus, None]...}U kunt de run-id van de pijplijn SQLServerToBlobPipeline ophalen en vervolgens het gedetailleerde uitvoeringsresultaat van de activiteit controleren met de volgende opdracht:
Write-Host "Pipeline 'SQLServerToBlobPipeline' run result:" -foregroundcolor "Yellow" ($result | Where-Object {$_.ActivityName -eq "CopySqlServerToAzureBlobActivity"}).Output.ToString()Hier volgt een voorbeeld van de voorbeelduitvoering:
{ "dataRead":36, "dataWritten":32, "filesWritten":1, "sourcePeakConnections":1, "sinkPeakConnections":1, "rowsRead":2, "rowsCopied":2, "copyDuration":18, "throughput":0.01, "errors":[ ], "effectiveIntegrationRuntime":"ADFTutorialIR", "usedParallelCopies":1, "executionDetails":[ { "source":{ "type":"SqlServer" }, "sink":{ "type":"AzureBlobStorage", "region":"CentralUS" }, "status":"Succeeded", "start":"2019-09-11T07:10:38.2342905Z", "duration":18, "usedParallelCopies":1, "detailedDurations":{ "queuingDuration":6, "timeToFirstByte":0, "transferDuration":5 } } ] }
De uitvoer controleren
De pijplijn maakt automatisch de uitvoermap fromonprem in de adftutorial blob-container aan. Controleer of u het bestand dbo.emp.txt in de uitvoermap ziet.
Selecteer in de Azure-portal in het containervenster adftutorialRefresh om de uitvoermap weer te geven.
Selecteer
fromonpremin de lijst met mappen.Controleer of u een bestand met de naam
dbo.emp.txtziet.
Gerelateerde inhoud
De pijplijn in dit voorbeeld kopieert gegevens van de ene locatie naar de andere in Azure Blob-opslag. U hebt geleerd hoe u:
- Een data factory maken.
- Een zelf-hostende Integration Runtime maken.
- Maak SQL Server en Azure Storage gekoppelde services.
- Maak datasets voor SQL Server en Azure Blob.
- Maak een pijplijn met een kopieeractiviteit om de gegevens te verplaatsen.
- Een pijplijnuitvoering starten.
- Controleer de pijplijnuitvoering.
Zie Ondersteunde gegevensopslagexemplaren voor een lijst met gegevensopslagexemplaren die worden ondersteund door Data Factory.
Ga door naar de volgende zelfstudie voor informatie over het bulksgewijs kopiëren van gegevens uit een bron naar een bestemming: