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 quickstart wordt beschreven hoe u .NET SDK gebruikt om een Azure Data Factory te maken. De pijplijn die u in deze gegevensfabriek maakt, kopieert gegevens uit de ene map naar een andere map in een Azure-blobopslag. Zie de zelfstudie voor het transformeren van gegevens met behulp van Azure Data Factory in Tutorial: Gegevens transformeren met Spark.
Prerequisites
Azure-abonnement
Als u geen Azure-abonnement hebt, maakt u een vrij account voordat u begint.
Azure-rollen
Als u Data Factory-exemplaren wilt maken, moet het gebruikersaccount waarmee u zich aanmeldt bij Azure lid zijn van de rol contributor of owner of een administrator van het Azure-abonnement. Als u de machtigingen wilt bekijken die u in het abonnement hebt, gaat u naar de Azure-portal en selecteert u uw gebruikersnaam in de rechterbovenhoek en selecteert u '... " pictogram voor meer opties en selecteer vervolgens My-machtigingen. Als u toegang tot meerdere abonnementen hebt, moet u het juiste abonnement selecteren.
Voor het creëren en beheren van ondergeschikte resources voor Data Factory - zoals datasets, gekoppelde services, pijplijnen, triggers en integratieruntimes - gelden de volgende vereisten.
- Als u onderliggende resources wilt maken en beheren in de Azure-portal, moet u behoren tot de rol Data Factory-inzender op het niveau van de resourcegroep of hoger.
- Als u onderliggende resources wilt maken en beheren met PowerShell of de SDK, is de rol inzender op resourceniveau of hoger voldoende.
Zie het artikel Rollen toevoegen voor voorbeelden van instructies voor het toevoegen van een gebruiker aan een rol.
Raadpleeg voor meer informatie de volgende artikelen:
Azure Storage-account
U gebruikt een algemeen Azure Storage-account (met name Blob Storage) als zowel source als destination gegevensarchieven in deze quickstart. Als u geen algemeen Azure Storage account hebt, raadpleegt u Maak een opslagaccount om er een te maken.
De naam van het opslagaccount ophalen
U hebt de naam van uw Azure Storage-account nodig voor deze quickstart. De volgende procedure bevat stappen waarmee u de naam van uw opslagaccount kunt ophalen:
- Ga in een webbrowser naar de Azure portal en meld u aan met uw Azure gebruikersnaam en wachtwoord.
- Selecteer in het menu Azure portal All services en selecteer vervolgens Storage>Storage-accounts. U kunt vanaf elke pagina ook Storage-accounts zoeken en selecteren.
- Filter op de pagina Storage-accounts op uw opslagaccount (indien nodig) en selecteer vervolgens uw opslagaccount.
U kunt vanaf elke pagina ook Storage-accounts zoeken en selecteren.
Een blobcontainer maken
In deze sectie maakt u een blobcontainer met de naam adftutorial in Azure Blob Storage.
Ga naar de opslagaccountpagina en selecteer Overzicht>Containers.
Selecteer < op de werkbalk van de > - .
Voer in het dialoogvenster Nieuwe container als naam adftutorial in en selecteer OK. De pagina <Accountnaam> - Containers wordt bijgewerkt om adftutorial op te nemen in de lijst met containers.
Voeg een invoermap en -bestand toe aan de blobcontainer
In dit gedeelte maakt u een map met de naam invoer in de container die u hebt gemaakt en vervolgens uploadt u een voorbeeldbestand naar de invoermap. Voor u begint, opent u een tekstverwerker zoals Kladblok en maakt u een bestand met de naam emp.txt met de volgende inhoud:
John, Doe
Jane, Doe
Sla het bestand op in de map c:\ADFv2QuickStartPSH. (Als de map nog niet bestaat, maakt u deze.) Ga vervolgens terug naar de Azure-portal en volg deze stappen:
Op de pagina <Accountnaam> - Containers waar u was gebleven, selecteert u adftutorial uit de bijgewerkte lijst met containers.
- Als u het venster hebt gesloten of naar een andere pagina bent gegaan, meldt u zich opnieuw aan bij de Azure-portal.
- Selecteer in het menu Azure portal All services en selecteer vervolgens Storage>Storage-accounts. U kunt vanaf elke pagina ook Storage-accounts zoeken en selecteren.
- Selecteer uw opslagaccount en selecteer vervolgens Containers>adftutorial.
Selecteer in de werkbalk van de containerpagina adftutorialUploaden.
Selecteer op de pagina Blob uploaden het venster Bestanden en blader vervolgens naar en selecteer het bestand emp.txt.
Vouw de kop Geavanceerd uit. De pagina wordt nu als volgt weergegeven:
In het vak Uploaden naar map voert u invoer in.
Selecteer de knop Uploaden. U zou het bestand emp.txt en de status van de upload nu in de lijst moeten zien.
Selecteer het pictogram Sluiten (X) om de pagina Blob uploaden te sluiten.
Houd de adftutorial-containerpagina geopend. U gebruikt deze om de uitvoer aan het einde van deze quickstart te controleren.
Visual Studio
In dit artikel wordt gebruikgemaakt van Visual Studio 2019. De procedures voor Visual Studio 2013, 2015 of 2017 verschillen enigszins.
Een toepassing maken in Microsoft Entra ID
Volg de instructies in de secties onder Hoe te: Gebruik de portal om een Microsoft Entra toepassing en service-principal te maken die toegang heeft tot resources voor het uitvoeren van deze taken:
- Maak in Create a Microsoft Entra application een toepassing die de .NET toepassing vertegenwoordigt die u in deze zelfstudie maakt. Voor de aanmeldings-URL kunt u een dummy-URL opgeven, zoals wordt getoond in het artikel (
https://contoso.org/exampleapp). - Haal in Waarden ophalen voor aanmelden de toepassings-id en tenant-id op, en noteer deze waarden zodat u ze later in deze zelfstudie kunt gebruiken.
- Haal in Certificaten en geheimen de verificatiesleutel op, en noteer deze waarde zodat u deze later in deze zelfstudie kunt gebruiken.
- Wijs in De toepassing toewijzen aan een rol de toepassing toe aan de rol Inzender op het niveau van het abonnement, zodat met de toepassing gegevensfactory's in het abonnement kunnen worden gemaakt.
Een Visual Studio-project maken
Maak vervolgens een C#-.NET-consoletoepassing in Visual Studio:
- Start Visual Studio.
- Selecteer in het startvenster Maak een nieuw project>Console-app (.NET Framework). .NET versie 4.5.2 of hoger is vereist.
- Voer in Project naamADFv2QuickStart in.
- Selecteer Maken om het project te maken.
NuGet-pakketten installeren
Selecteer Tools>NuGet Package Manager>Package Manager Console.
Voer in het deelvenster Package Manager Console de volgende opdrachten uit om pakketten te installeren. Zie voor meer informatie het Azure.ResourceManager.DataFactory NuGet-pakket.
Install-Package Azure.ResourceManager.DataFactory -IncludePrerelease Install-Package Azure.Identity
Een data factory maken
Open Program.cs en voeg de volgende instructies toe om verwijzingen naar naamruimten toe te voegen.
using Azure; using Azure.Core; using Azure.Core.Expressions.DataFactory; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.DataFactory; using Azure.ResourceManager.DataFactory.Models; using Azure.ResourceManager.Resources; using System; using System.Collections.Generic;Voeg de volgende code toe aan de methode Main waarmee de variabelen worden ingesteld. Vervang de plaatsaanduidingen door uw eigen waarden. 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 en meer) en berekeningen (HDInsight en andere) die door data factory worden gebruikt, kunnen zich in andere regio's bevinden.
// Set variables string tenantID = "<your tenant ID>"; string applicationId = "<your application ID>"; string authenticationKey = "<your authentication key for the application>"; string subscriptionId = "<your subscription ID where the data factory resides>"; string resourceGroup = "<your resource group where the data factory resides>"; string region = "<the location of your resource group>"; string dataFactoryName = "<specify the name of data factory to create. It must be globally unique.>"; string storageAccountName = "<your storage account name to copy data>"; string storageKey = "<your storage account key>"; // specify the container and input folder from which all files // need to be copied to the output folder. string inputBlobContainer = "<blob container to copy data from, e.g. containername>"; string inputBlobPath = "<path to existing blob(s) to copy data from, e.g. inputdir/file>"; //specify the contains and output folder where the files are copied string outputBlobContainer = "<blob container to copy data from, e.g. containername>"; string outputBlobPath = "<the blob path to copy data to, e.g. outputdir/file>"; // name of the Azure Storage linked service, blob dataset, and the pipeline string storageLinkedServiceName = "AzureStorageLinkedService"; string blobDatasetName = "BlobDataset"; string pipelineName = "Adfv2QuickStartPipeline";Voeg de volgende code toe aan de methode Main om een data factory te maken.
ArmClient armClient = new ArmClient( new ClientSecretCredential(tenantID, applicationId, authenticationKey, new TokenCredentialOptions { AuthorityHost = AzureAuthorityHosts.AzurePublicCloud }), subscriptionId, new ArmClientOptions { Environment = ArmEnvironment.AzurePublicCloud } ); ResourceIdentifier resourceIdentifier = SubscriptionResource.CreateResourceIdentifier(subscriptionId); SubscriptionResource subscriptionResource = armClient.GetSubscriptionResource(resourceIdentifier); Console.WriteLine("Get an existing resource group " + resourceGroupName + "..."); var resourceGroupOperation = subscriptionResource.GetResourceGroups().Get(resourceGroupName); ResourceGroupResource resourceGroupResource = resourceGroupOperation.Value; Console.WriteLine("Create a data factory " + dataFactoryName + "..."); DataFactoryData dataFactoryData = new DataFactoryData(AzureLocation.EastUS2); var dataFactoryOperation = resourceGroupResource.GetDataFactories().CreateOrUpdate(WaitUntil.Completed, dataFactoryName, dataFactoryData); Console.WriteLine(dataFactoryOperation.WaitForCompletionResponse().Content); // Get the data factory resource DataFactoryResource dataFactoryResource = dataFactoryOperation.Value;
Een gekoppelde service maken
Voeg de volgende code toe aan de methode Main waarmee een Azure Storage gekoppelde service wordt gemaakt.
U maakt gekoppelde services in een gegevensfabriek om uw gegevensarchieven en rekenservices aan de gegevensfabriek te koppelen. In deze quickstart hoeft u slechts één Azure Blob Storage gekoppelde service te maken voor zowel de kopieerbron als de sinkopslag. Deze heet 'AzureBlobStorageLinkedService' in het voorbeeld.
// Create an Azure Storage linked service
Console.WriteLine("Create a linked service " + storageLinkedServiceName + "...");
AzureBlobStorageLinkedService azureBlobStorage = new AzureBlobStorageLinkedService()
{
ConnectionString = azureBlobStorageConnectionString
};
DataFactoryLinkedServiceData linkedServiceData = new DataFactoryLinkedServiceData(azureBlobStorage);
var linkedServiceOperation = dataFactoryResource.GetDataFactoryLinkedServices().CreateOrUpdate(WaitUntil.Completed, storageLinkedServiceName, linkedServiceData);
Console.WriteLine(linkedServiceOperation.WaitForCompletionResponse().Content);
Een gegevensset maken
Voeg de volgende code toe aan de Main-methode waarmee een gescheiden-tekstgegevensset wordt gemaakt.
U definieert een gegevensset die de gegevens vertegenwoordigt die van een bron naar een sink moeten worden gekopieerd. In dit voorbeeld verwijst deze door scheidingstekens gescheiden gegevensset naar de gekoppelde Azure Blob Storage-service die u in de vorige stap hebt aangemaakt. De gegevensset gebruikt twee parameters waarvan de waarde is ingesteld in een activiteit die de gegevensset verbruikt. De parameters worden gebruikt om de 'container' en 'folderPath' te maken die verwijst naar de locatie waar de gegevens zich bevinden/worden opgeslagen.
// Create an Azure Blob dataset
DataFactoryLinkedServiceReference linkedServiceReference = new DataFactoryLinkedServiceReference(DataFactoryLinkedServiceReferenceType.LinkedServiceReference, storageLinkedServiceName);
DelimitedTextDataset delimitedTextDataset = new DelimitedTextDataset(linkedServiceReference)
{
DataLocation = new AzureBlobStorageLocation
{
Container = DataFactoryElement<string>.FromExpression("@dataset().container"),
FileName = DataFactoryElement<string>.FromExpression("@dataset().path")
},
Parameters =
{
new KeyValuePair<string, EntityParameterSpecification>("container",new EntityParameterSpecification(EntityParameterType.String)),
new KeyValuePair<string, EntityParameterSpecification>("path",new EntityParameterSpecification(EntityParameterType.String))
},
FirstRowAsHeader = false,
QuoteChar = "\"",
EscapeChar = "\\",
ColumnDelimiter = ","
};
DataFactoryDatasetData datasetData = new DataFactoryDatasetData(delimitedTextDataset);
var datasetOperation = dataFactoryResource.GetDataFactoryDatasets().CreateOrUpdate(WaitUntil.Completed, blobDatasetName, datasetData);
Console.WriteLine(datasetOperation.WaitForCompletionResponse().Content);
Een pipeline maken
Voeg de volgende code toe aan de methode Main om een pijplijn met een kopieeractiviteit te maken.
In dit voorbeeld bevat deze pijplijn één activiteit en heeft deze vier parameters: de invoerblobcontainer en het pad, en de uitvoer-blobcontainer en het pad. De waarden voor deze parameters worden ingesteld wanneer de pijplijn wordt geactiveerd of uitgevoerd. De kopieeractiviteit verwijst naar dezelfde blobgegevensset die u in de vorige stap hebt gemaakt als invoer en uitvoer. Wanneer de gegevensset wordt gebruikt als invoergegevensset, worden invoercontainer en -pad opgegeven. En wanneer de gegevensset wordt gebruikt als uitvoergegevensset, worden de uitvoercontainer en het pad opgegeven.
// Create a pipeline with a copy activity
Console.WriteLine("Creating pipeline " + pipelineName + "...");
DataFactoryPipelineData pipelineData = new DataFactoryPipelineData()
{
Parameters =
{
new KeyValuePair<string, EntityParameterSpecification>("inputContainer",new EntityParameterSpecification(EntityParameterType.String)),
new KeyValuePair<string, EntityParameterSpecification>("inputPath",new EntityParameterSpecification(EntityParameterType.String)),
new KeyValuePair<string, EntityParameterSpecification>("outputContainer",new EntityParameterSpecification(EntityParameterType.String)),
new KeyValuePair<string, EntityParameterSpecification>("outputPath",new EntityParameterSpecification(EntityParameterType.String))
},
Activities =
{
new CopyActivity("CopyFromBlobToBlob",new DataFactoryBlobSource(),new DataFactoryBlobSink())
{
Inputs =
{
new DatasetReference(DatasetReferenceType.DatasetReference,blobDatasetName)
{
Parameters =
{
new KeyValuePair<string, BinaryData>("container", BinaryData.FromString("\"@pipeline().parameters.inputContainer\"")),
new KeyValuePair<string, BinaryData>("path", BinaryData.FromString("\"@pipeline().parameters.inputPath\""))
}
}
},
Outputs =
{
new DatasetReference(DatasetReferenceType.DatasetReference,blobDatasetName)
{
Parameters =
{
new KeyValuePair<string, BinaryData>("container", BinaryData.FromString("\"@pipeline().parameters.outputContainer\"")),
new KeyValuePair<string, BinaryData>("path", BinaryData.FromString("\"@pipeline().parameters.outputPath\""))
}
}
}
}
}
};
var pipelineOperation = dataFactoryResource.GetDataFactoryPipelines().CreateOrUpdate(WaitUntil.Completed, pipelineName, pipelineData);
Console.WriteLine(pipelineOperation.WaitForCompletionResponse().Content);
Pijplijn run maken
Voeg de volgende code toe aan de methode Main om een pijplijnuitvoering te activeren.
Met deze code worden ook waarden ingesteld van de parameters inputContainer, inputPath, outputContainer en outputPath die zijn opgegeven in de pijplijn met de werkelijke waarden van de bron- en sink-blobpaden.
// Create a pipeline run
Console.WriteLine("Creating pipeline run...");
Dictionary<string, BinaryData> parameters = new Dictionary<string, BinaryData>()
{
{ "inputContainer",BinaryData.FromObjectAsJson(inputBlobContainer) },
{ "inputPath",BinaryData.FromObjectAsJson(inputBlobPath) },
{ "outputContainer",BinaryData.FromObjectAsJson(outputBlobContainer) },
{ "outputPath",BinaryData.FromObjectAsJson(outputBlobPath) }
};
var pipelineResource = dataFactoryResource.GetDataFactoryPipeline(pipelineName);
var runResponse = pipelineResource.Value.CreateRun(parameters);
Console.WriteLine("Pipeline run ID: " + runResponse.Value.RunId);
Een pijplijnuitvoering controleren
Voeg de volgende code toe aan de methode Main om continu de status te controleren totdat het kopiëren van de gegevens is voltooid.
// Monitor the pipeline run Console.WriteLine("Checking pipeline run status..."); DataFactoryPipelineRunInfo pipelineRun; while (true) { pipelineRun = dataFactoryResource.GetPipelineRun(runResponse.Value.RunId.ToString()); Console.WriteLine("Status: " + pipelineRun.Status); if (pipelineRun.Status == "InProgress" || pipelineRun.Status == "Queued") System.Threading.Thread.Sleep(15000); else break; }Voeg de volgende code toe aan de methode Main om details van de kopieeractiviteit weer te geven, zoals de omvang van de gelezen of weggeschreven gegevens.
// Check the copy activity run details Console.WriteLine("Checking copy activity run details..."); var queryResponse = dataFactoryResource.GetActivityRun(pipelineRun.RunId.ToString(), new RunFilterContent(DateTime.UtcNow.AddMinutes(-10), DateTime.UtcNow.AddMinutes(10))); var enumerator = queryResponse.GetEnumerator(); enumerator.MoveNext(); if (pipelineRun.Status == "Succeeded") Console.WriteLine(enumerator.Current.Output); else Console.WriteLine(enumerator.Current.Error); Console.WriteLine("\nPress any key to exit..."); Console.ReadKey();
De code uitvoeren
Bouw en start de toepassing en controleer vervolgens de uitvoering van de pijplijn.
In de console wordt de voortgang weergegeven van het maken van een data factory, een gekoppelde service, gegevensverzamelingen, een pijplijn en een pijplijnuitvoering. Vervolgens wordt de status van de pijplijnuitvoering gecontroleerd. Wacht totdat u de details van de uitvoering van de kopieeractiviteit ziet met de omvang van de gelezen/weggeschreven gegevens. Gebruik vervolgens hulpprogramma's zoals Azure Storage Explorer om te controleren of de blob(s) is gekopieerd naar 'outputBlobPath' van 'inputBlobPath' zoals u hebt opgegeven in de variabelen.
Voorbeelduitvoer
Create a data factory quickstart-adf...
{
"name": "quickstart-adf",
"type": "Microsoft.DataFactory/factories",
"properties": {
"provisioningState": "Succeeded",
"version": "2018-06-01"
},
"location": "eastus2"
}
Create a linked service AzureBlobStorage...
{
"name": "AzureBlobStorage",
"type": "Microsoft.DataFactory/factories/linkedservices",
"properties": {
"type": "AzureBlobStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<storageAccountName>;",
"encryptedCredential": "<encryptedCredential>"
}
}
}
Creating dataset BlobDelimitedDataset...
{
"name": "BlobDelimitedDataset",
"type": "Microsoft.DataFactory/factories/datasets",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "AzureBlobStorage"
},
"parameters": {
"container": {
"type": "String"
},
"path": {
"type": "String"
}
},
"typeProperties": {
"location": {
"container": {
"type": "Expression",
"value": "@dataset().container"
},
"type": "AzureBlobStorageLocation",
"fileName": {
"type": "Expression",
"value": "@dataset().path"
}
},
"columnDelimiter": ",",
"quoteChar": "\"",
"escapeChar": "\\",
"firstRowAsHeader": false
}
}
}
Creating pipeline Adfv2QuickStartPipeline...
{
"properties": {
"activities": [
{
"inputs": [
{
"type": "DatasetReference",
"referenceName": "BlobDelimitedDataset",
"parameters": {
"container": "@pipeline().parameters.inputContainer",
"path": "@pipeline().parameters.inputPath"
}
}
],
"outputs": [
{
"type": "DatasetReference",
"referenceName": "BlobDelimitedDataset",
"parameters": {
"container": "@pipeline().parameters.outputContainer",
"path": "@pipeline().parameters.outputPath"
}
}
],
"name": "CopyFromBlobToBlob",
"type": "Copy",
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "BlobSink"
}
}
}
],
"parameters": {
"inputContainer": {
"type": "String"
},
"inputPath": {
"type": "String"
},
"outputContainer": {
"type": "String"
},
"outputPath": {
"type": "String"
}
}
}
}
Creating pipeline run...
Pipeline run ID: 3aa26ffc-5bee-4db9-8bac-ccbc2d7b51c1
Checking pipeline run status...
Status: InProgress
Status: Succeeded
Checking copy activity run details...
{
"dataRead": 1048,
"dataWritten": 1048,
"filesRead": 1,
"filesWritten": 1,
"sourcePeakConnections": 1,
"sinkPeakConnections": 1,
"copyDuration": 8,
"throughput": 1.048,
"errors": [],
"effectiveIntegrationRuntime": "AutoResolveIntegrationRuntime (East US 2)",
"usedDataIntegrationUnits": 4,
"billingReference": {
"activityType": "DataMovement",
"billableDuration": [
{
"meterType": "AzureIR",
"duration": 0.06666666666666667,
"unit": "DIUHours"
}
],
"totalBillableDuration": [
{
"meterType": "AzureIR",
"duration": 0.06666666666666667,
"unit": "DIUHours"
}
]
},
"usedParallelCopies": 1,
"executionDetails": [
{
"source": {
"type": "AzureBlobStorage"
},
"sink": {
"type": "AzureBlobStorage"
},
"status": "Succeeded",
"start": "2023-12-15T10:25:33.9991558Z",
"duration": 8,
"usedDataIntegrationUnits": 4,
"usedParallelCopies": 1,
"profile": {
"queue": {
"status": "Completed",
"duration": 5
},
"transfer": {
"status": "Completed",
"duration": 1,
"details": {
"listingSource": {
"type": "AzureBlobStorage",
"workingDuration": 0
},
"readingFromSource": {
"type": "AzureBlobStorage",
"workingDuration": 0
},
"writingToSink": {
"type": "AzureBlobStorage",
"workingDuration": 0
}
}
}
},
"detailedDurations": {
"queuingDuration": 5,
"transferDuration": 1
}
}
],
"dataConsistencyVerification": {
"VerificationResult": "NotVerified"
}
}
Press any key to exit...
De uitvoer controleren
De pijplijn maakt automatisch de outputmap aan in de blobcontainer adftutorial. Vervolgens wordt het bestand emp.txt gekopieerd van de invoermap naar de uitvoermap.
- Selecteer in de Azure-portal op de adftutorial containerpagina waar u bent gestopt in de sectie Voeg een invoermap en bestand voor de blobcontainer toe hierboven Refresh om de uitvoermap weer te geven.
- Selecteer Uitvoer in de lijst met mappen.
- Controleer of het bestand emp.txt naar de uitvoermap is gekopieerd.
De hulpbronnen opschonen
Als u de data factory programmatisch wilt verwijderen, voegt u de volgende regels code toe aan het programma:
Console.WriteLine("Deleting the data factory");
dataFactoryResource.Delete(WaitUntil.Completed);
Volgende stappen
De pijplijn in dit voorbeeld kopieert gegevens van de ene locatie naar een andere in Azure Blob Storage. Doorloop de zelfstudies voor meer informatie over het gebruiken van Data Factory in andere scenario's.