Sdílet prostřednictvím


Rychlý start: Vytvoření datové továrny a pipeline využitím sady .NET SDK

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přenosu dat až po datovou vědu, analýzy v reálném čase, obchodní inteligenci a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Tento rychlý start popisuje, jak pomocí sady .NET SDK vytvořit službu Azure Data Factory. Datový kanál, který vytvoříte v této datové továrně, kopíruje data z jedné složky do jiné složky v úložišti blobů Azure. Kurz předvádějící způsoby transformace dat pomocí Azure Data Factory najdete v tématu Kurz: Transformace dat pomocí Sparku.

Požadavky

Předplatné Azure

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Role Azure

Pro vytvoření instancí služby Data Factory musí být uživatelský účet, který použijete pro přihlášení k Azure, členem role přispěvatel nebo vlastník nebo správcem předplatného Azure. Pokud chcete zobrazit oprávnění, která máte v předplatném, přejděte na web Azure Portal, vyberte své uživatelské jméno v pravém horním rohu, vyberte ikonu ..., kde najdete další možnosti, a pak vyberte Moje oprávnění. Pokud máte přístup k několika předplatným, vyberte odpovídající předplatné.

Při vytváření a správě podřízených prostředků pro službu Data Factory, včetně datových sad, propojených služeb, kanálů, triggerů a prostředí Integration Runtime, platí následující požadavky:

  • Pokud chcete vytvářet a spravovat podřízené prostředky na webu Azure Portal, musíte patřit do role Přispěvatel služby Data Factory na úrovni skupiny prostředků nebo vyšší.
  • K vytvoření a správě podřízených prostředků pomocí PowerShellu nebo sady SDK stačí role přispěvatele na úrovni prostředku nebo vyšší.

Ukázku pokynů pro přidání uživatele do role najdete v článku věnovaném přidávání rolí.

Další informace najdete v následujících článcích:

Účet služby Azure Storage

Jako zdrojové i cílové úložiště dat v tomto rychlém startu použijete účet Azure Storage pro všeobecné účely (konkrétně úložiště objektů blob). Pokud nemáte účet Azure Storage pro obecné účely, přečtěte si téma Vytvoření účtu úložiště, abyste ho vytvořili.

Získání názvu účtu úložiště

Pro účely tohoto rychlého startu potřebujete název účtu služby Azure Storage. Následující postup obsahuje postup získání názvu účtu úložiště:

  1. Ve webovém prohlížeči přejděte na web Azure Portal a přihlaste se pomocí uživatelského jména a hesla Azure.
  2. V nabídce portálu Azure vyberte Všechny služby, a pak vyberte Úložiště>Účty úložiště. Z libovolné stránky můžete také vyhledat a vybrat Účty úložiště.
  3. Na stránce Účty úložiště v případě potřeby vyfiltrujte svůj účet úložiště a poté vyberte svůj účet úložiště.

Z libovolné stránky můžete také vyhledat a vybrat Účty úložiště.

Vytvořit kontejner blob

V této části vytvoříte v úložišti objektů blob v Azure kontejner objektů blob s názvem adftutorial.

  1. Na stránce účtu úložiště vyberte Přehled>kontejnerů.

  2. Na panelu nástrojů stránky <Název účtu> - Kontejnery vyberte Kontejner.

  3. V dialogovém okně Nový kontejner jako název zadejte adftutorial a pak vyberte OK. Stránka <Název účtu> - Kontejnery se aktualizuje tak, aby zahrnovala adftutorial v seznamu kontejnerů.

    Seznam kontejnerů

Přidejte vstupní složku a soubor pro kontejner blobů

V této části vytvoříte složku s názvem vstup v kontejneru, který jste vytvořili, a pak nahrajete ukázkový soubor do vstupní složky. Než začnete, otevřete textový editor, například Poznámkový blok, a vytvořte soubor s názvem emp.txt s následujícím obsahem:

John, Doe
Jane, Doe

Uložte soubor do složky C:\ADFv2QuickStartPSH . (Pokud složka ještě neexistuje, vytvořte ji.) Pak se vraťte na web Azure Portal a postupujte takto:

  1. Na stránce <Kontejnery se jménem účtu> - , kde jste skončili, vyberte položku adftutorial z aktualizovaného seznamu kontejnerů.

    1. Pokud jste okno zavřeli nebo jste přešli na jinou stránku, znovu se přihlaste k webu Azure Portal .
    2. V nabídce portálu Azure vyberte Všechny služby, a pak vyberte Úložiště>Účty úložiště. Z libovolné stránky můžete také vyhledat a vybrat Účty úložiště.
    3. Vyberte svůj účet úložiště a poté vyberte Kontejnery>adftutorial.
  2. Na panelu nástrojů stránky kontejneru adftutorial vyberte Nahrát.

  3. Na stránce Nahrát objekt blob vyberte pole Soubory a pak přejděte k emp.txt a vyberte ho.

  4. Rozbalte záhlaví Pokročilé. Stránka se teď zobrazí takto:

    Vyberte odkaz Pokročilé

  5. Do pole Nahrát do složky zadejte vstup.

  6. vyberte tlačítko Nahrát. Měli byste vidět soubor emp.txt a stav nahrávání v seznamu.

  7. Výběrem ikony Zavřít (X) zavřete stránku Nahrát blob.

Nechte stránku kontejneru adftutorial otevřenou. Použijete ho k ověření výstupu na konci tohoto rychlého startu.

Visual Studio

Návod v tomto článku používá Visual Studio 2019. Postupy pro Visual Studio 2013, 2015 nebo 2017 se mírně liší.

Vytvoření aplikace v Microsoft Entra ID

Z částí v dokumentu Postup: Použití portálu k vytvoření aplikace Microsoft Entra a služebního účtu, který může přistupovat k prostředkům postupujte podle pokynů k těmto úkolům:

  1. V části Vytvoření aplikace Microsoft Entra vytvořte aplikaci, která představuje aplikaci .NET, kterou vytváříte v tomto kurzu. Jako přihlašovací adresu URL můžete poskytnout fiktivní URL, jak ukazuje článek (https://contoso.org/exampleapp).
  2. V části Získání hodnot pro přihlášení získejte ID aplikace a ID tenanta a poznamenejte si tyto hodnoty, které použijete později v tomto kurzu.
  3. V certifikátech a tajných klíčích získejte ověřovací klíč a poznamenejte si tuto hodnotu, kterou použijete později v tomto kurzu.
  4. V části Přiřadit aplikaci k roli přiřaďte aplikaci roli Přispěvatel na úrovni předplatného, aby aplikace v předplatném vytvořila datové továrny.

Vytvoření projektu ve Visual Studiu

Dále v sadě Visual Studio vytvořte konzolovou aplikaci C#.NET:

  1. Spusťte Visual Studio.
  2. V okně Start vyberte Vytvořit novou konzolovou aplikaci projektu>(.NET Framework). Vyžaduje se .NET verze 4.5.2 nebo novější.
  3. V názvu projektu zadejte ADFv2QuickStart.
  4. Vyberte Vytvořit a vytvořte projekt.

Instalace balíčků NuGet

  1. Vyberte Nástroje>NuGet Správce balíčků>Konzola správce balíčků.

  2. V podokně konzoly Správce balíčků spusťte následující příkazy pro instalaci balíčků. Další informace najdete v balíčku NuGet Azure.ResourceManager.DataFactory .

    Install-Package Azure.ResourceManager.DataFactory -IncludePrerelease
    Install-Package Azure.Identity 
    

Vytvoření datové továrny

  1. Otevřete Program.cs a přidejte následující příkazy pro přidání odkazů na obory názvů.

    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;
    
  2. Do metody Main přidejte následující kód, který nastaví proměnné. Zástupné znaky nahraďte vlastními hodnotami. Pokud chcete zobrazit seznam oblastí Azure, ve kterých je služba Data Factory aktuálně dostupná, na následující stránce vyberte oblasti, které vás zajímají, pak rozbalte Analýza a vyhledejte Data Factory:Dostupné produkty v jednotlivých oblastech. Úložiště dat (Azure Storage, Azure SQL Database a další) a výpočetní prostředí (HDInsight a další) používaná datovou továrnou můžou být v jiných oblastech.

    // 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";
    
  3. Do metody Main přidejte následující kód, který vytvoří data factory.

    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;
    

Vytvoření propojené služby

Do metody Main přidejte následující kód, který vytvoří propojenou službu Azure Storage.

V datové továrně vytvoříte propojené služby, abyste svá úložiště dat a výpočetní služby spojili s datovou továrnou. V tomto rychlém startu potřebujete vytvořit pouze jednu propojenou službu Azure Blob Storage pro zdroj kopírování i úložiště jímky. v ukázce se jmenuje AzureBlobStorageLinkedService.

// 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);

Vytvoření datové sady

Do metody Main přidejte následující kód, který vytvoří datovou sadu s odděleným textem.

Nadefinujete datovou sadu, která představuje data ke kopírování ze zdroje do jímky. V tomto příkladu odkazuje tato textová datová sada s oddělovači na propojenou službu Azure Blob Storage, kterou jste vytvořili v předchozím kroku. Datová sada má dva parametry, jejichž hodnota je nastavená v aktivitě, která datovou sadu využívá. Parametry se používají k vytvoření kontejneru a "folderPath" odkazující na umístění, kde se data nacházejí nebo jsou uložena.

// 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);

Vytvořit potrubí

Do metody Main přidejte následující kód, který vytvoří kanál s aktivitou kopírování.

V tomto příkladu tento datový tok obsahuje jednu aktivitu a přijímá čtyři parametry: vstupní a výstupní kontejner objektů blob a jejich cesty. Hodnoty pro tyto parametry se nastaví při aktivaci nebo spuštění kanálu. Aktivita kopírování odkazuje na stejnou datovou sadu objektů blob, kterou jste vytvořili v předchozím kroku jako vstup a výstup. Pokud se datová sada používá jako vstupní datová sada, zadává se vstupní kontejner a cesta. A když se datová sada použije jako výstupní datová sada, zadá se výstupní kontejner a cesta.

// 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);

Vytvoření spuštění kanálu

Do metody Main přidejte následující kód, který spouští spuštění pipeline.

Tento kód také nastavuje hodnoty inputContainer, inputPath, outputContainer a outputPath parametrů zadaných v kanálu se skutečnými hodnotami cest objektů blob zdroje a jímky.

// 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);

Sledování běhu potrubí

  1. Do metody Main přidejte následující kód, který nepřetržitě kontroluje stav, dokud se kopírování dat nedokončí.

    // 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;
    }
    
  2. Do metody Main přidejte následující kód, který načte podrobnosti o spuštění aktivity kopírování, například velikost načtených nebo zapsaných dat.

    // 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();
    

Spuštění kódu

Sestavte a spusťte aplikaci a potom ověřte provádění potrubí.

Konzola vytiskne průběh vytváření datové továrny, propojené služby, datových sad, kanálu a spuštění kanálu. Pak zkontroluje stav spuštění kanálu. Počkejte, až se zobrazí podrobnosti o spuštění aktivity kopírování s velikostí dat pro čtení a zápis. Poté pomocí nástrojů, jako je Azure Storage Explorer, zkontrolujte, že je blob zkopírován do "outputBlobPath" z "inputBlobPath", jak jste uvedli v proměnných.

Ukázkový výstup

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...

Ověření výstupu

Datová linka automaticky vytvoří výstupní složku v kontejneru blob adftutorial. Potom zkopíruje soubor emp.txt ze vstupní složky do výstupní složky.

  1. Na webu Azure Portal na stránce kontejneru adftutorial, na které jste skončili v části Přidat vstupní složku a soubor pro kontejner objektů blob výše, vyberte Aktualizovat, abyste zobrazili výstupní složku.
  2. V seznamu složek vyberte výstup.
  3. Potvrďte, že je do výstupní složky zkopírovaný soubor emp.txt.

Vyčištění zdrojů

Pokud chcete objekt pro vytváření dat odstranit programově, přidejte do programu následující řádky kódu:

Console.WriteLine("Deleting the data factory");
dataFactoryResource.Delete(WaitUntil.Completed);

Další kroky

Potrubí v této ukázce kopíruje data z jednoho místa do jiného místa v úložišti objektů blob Azure. Projděte si kurzy, kde se dozvíte o použití služby Data Factory ve více scénářích.