Copiare dati da un BLOB di Azure al database SQL di Azure con Azure Data FactoryCopy data from Azure Blob to Azure SQL Database using Azure Data Factory

In questa esercitazione si crea una pipeline di Data Factory che copia i dati da un archivio BLOB di Azure al database SQL di Azure.In this tutorial, you create a Data Factory pipeline that copies data from Azure Blob Storage to Azure SQL Database. Il modello di configurazione di questa esercitazione si applica alla copia da un archivio dati basato su file a un archivio dati relazionale.The configuration pattern in this tutorial applies to copying from a file-based data store to a relational data store. Per un elenco degli archivi dati supportati come origini e sink, vedere i formati e gli archivi dati supportati.For a list of data stores supported as sources and sinks, see supported data stores and formats.

In questa esercitazione vengono completati i passaggi seguenti:You take the following steps in this tutorial:

  • Creare una data factory.Create a data factory.
  • Creare servizi collegati Archiviazione di Azure e Database SQL di Azure.Create Azure Storage and Azure SQL Database linked services.
  • Creare i set di dati del BLOB di Azure e del database SQL di Azure.Create Azure Blob and Azure SQL Database datasets.
  • Creare una pipeline contenente un'attività di copia.Create a pipeline contains a Copy activity.
  • Avviare un'esecuzione della pipeline.Start a pipeline run.
  • Monitorare le esecuzioni di pipeline e attività.Monitor the pipeline and activity runs.

In questa esercitazione viene usato .NET SDK.This tutorial uses .NET SDK. È possibile usare altri meccanismi per interagire con Azure Data Factory. Vedere gli esempi in Avvii rapidi.You can use other mechanisms to interact with Azure Data Factory; refer to samples under Quickstarts.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.If you don't have an Azure subscription, create a free Azure account before you begin.

PrerequisitesPrerequisites

Creare un BLOB e una tabella SQLCreate a blob and a SQL table

Preparare ora il BLOB di Azure e il database SQL di Azure per l'esercitazione creando un BLOB di origine e una tabella SQL sink.Now, prepare your Azure Blob and Azure SQL Database for the tutorial by creating a source blog and a sink SQL table.

Creare un BLOB di origineCreate a source blob

Prima di tutto, creare un BLOB di origine creando un contenitore e caricando al suo interno un file di testo di input:First, create a source blob by creating a container and uploading an input text file to it:

  1. Aprire il Blocco note.Open Notepad. Copiare il testo seguente e salvarlo in locale in un file denominato inputEmp.txt.Copy the following text and save it locally to a file named inputEmp.txt.

    John|Doe
    Jane|Doe
    
  2. Usare uno strumento come Azure Storage Explorer per creare il contenitore adfv2tutorial e per caricare il file inputEmp.txt nel contenitore.Use a tool such as Azure Storage Explorer to create the adfv2tutorial container, and to upload the inputEmp.txt file to the container.

Creare una tabella SQL sinkCreate a sink SQL table

Creare quindi una tabella SQL sink:Next, create a sink SQL table:

  1. Usare lo script SQL seguente per creare la tabella dbo.emp nel database SQL di Azure.Use the following SQL script to create the dbo.emp table in your Azure SQL Database.

    CREATE TABLE dbo.emp
    (
        ID int IDENTITY(1,1) NOT NULL,
        FirstName varchar(50),
        LastName varchar(50)
    )
    GO
    
    CREATE CLUSTERED INDEX IX_emp_ID ON dbo.emp (ID);
    
  2. Consentire ai servizi di Azure di accedere a SQL Server.Allow Azure services to access SQL server. Assicurarsi di aver consentito l'accesso ai servizi di Azure nel server SQL Azure in modo che il servizio Data Factory possa scrivere dati nel server.Ensure that you allow access to Azure services in your Azure SQL server so that the Data Factory service can write data to your Azure SQL server. Per verificare e attivare l'impostazione, seguire questa procedura:To verify and turn on this setting, do the following steps:

    1. Passare al portale di Azure per gestire il server SQL.Go to the Azure portal to manage your SQL server. Cercare e selezionare Server SQL.Search for and select SQL servers.

    2. Selezionare il server.Select your server.

    3. Nell'intestazione Sicurezza menu del server SQL selezionare Firewall e reti virtuali.Under the SQL server menu's Security heading, select Firewalls and virtual networks.

    4. Nella pagina Firewall e reti virtuali selezionare per Consenti alle risorse e ai servizi di Azure di accedere a questo server.In the Firewall and virtual networks page, under Allow Azure services and resources to access this server, select ON.

Creare un progetto di Visual StudioCreate a Visual Studio project

Creare un'applicazione console .NET in C# con Visual Studio.Using Visual Studio, create a C# .NET console application.

  1. Aprire Visual Studio.Open Visual Studio.
  2. Nella finestra iniziale selezionare Crea un nuovo progetto.In the Start window, select Create a new project.
  3. Nella finestra Crea un nuovo progetto scegliere la versione C# di App console (.NET Framework) dall'elenco dei tipi di progetto.In the Create a new project window, choose the C# version of Console App (.NET Framework) from the list of project types. Fare quindi clic su Avanti.Then select Next.
  4. Nella finestra Configura il nuovo progetto in Nome progetto immettere ADFv2Tutorial.In the Configure your new project window, enter a Project name of ADFv2Tutorial. Per Percorso, individuare e/o creare la directory in cui salvare il progetto.For Location, browse to and/or create the directory to save the project in. Selezionare quindi Crea.Then select Create. Il nuovo progetto verrà visualizzato nell'IDE di Visual Studio.The new project appears in the Visual Studio IDE.

Installare i pacchetti NuGetInstall NuGet packages

Installare quindi i pacchetti di libreria necessari usando Gestione pacchetti NuGet.Next, install the required library packages using the NuGet package manager.

  1. Nella barra dei menu scegliere Strumenti > Gestione pacchetti NuGet > Console di Gestione pacchetti.In the menu bar, choose Tools > NuGet Package Manager > Package Manager Console.

  2. Nel riquadro Console di Gestione pacchetti eseguire questi comandi per installare i pacchetti.In the Package Manager Console pane, run the following commands to install packages. Per altre informazioni sul pacchetto NuGet per Azure Data Factory, vedere il Microsoft.Azure.Management.DataFactory.For information about the Azure Data Factory NuGet package, see Microsoft.Azure.Management.DataFactory.

    Install-Package Microsoft.Azure.Management.DataFactory
    Install-Package Microsoft.Azure.Management.ResourceManager -PreRelease
    Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory
    

Creare un client di data factoryCreate a data factory client

Per creare un client di data factory, seguire questa procedura.Follow these steps to create a data factory client.

  1. Aprire il file Program.cs, sovrascrivere le istruzioni using esistenti con il codice seguente per aggiungere i riferimenti agli spazi dei nomi.Open Program.cs, then overwrite the existing using statements with the following code to add references to namespaces.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using Microsoft.Rest;
    using Microsoft.Rest.Serialization;
    using Microsoft.Azure.Management.ResourceManager;
    using Microsoft.Azure.Management.DataFactory;
    using Microsoft.Azure.Management.DataFactory.Models;
    using Microsoft.IdentityModel.Clients.ActiveDirectory;
    
  2. Aggiungere il codice seguente al metodo Main per impostare le variabili.Add the following code to the Main method that sets variables. Sostituire i 14 segnaposto con i valori personalizzati.Replace the 14 placeholders with your own values.

    Per visualizzare l'elenco delle aree di Azure in cui Data Factory è attualmente disponibile, vedere Prodotti disponibili in base all'area.To see the list of Azure regions in which Data Factory is currently available, see Products available by region. Nell'elenco a discesa Prodotti scegliere Esplora > Analisi > Data Factory.Under the Products drop-down list, choose Browse > Analytics > Data Factory. Quindi nell'elenco a discesa Aree selezionare le aree a cui si è interessati.Then in the Regions drop-down list, choose the regions that interest you. Verrà visualizzata una griglia con lo stato di disponibilità dei prodotti Data Factory per le aree selezionate.A grid appears with the availability status of Data Factory products for your selected regions.

    Nota

    Gli archivi dati, ad esempio, Archiviazione di Azure e il database SQL di Azure, e le risorse di calcolo, ad esempio HDInsight, usati da Data Factory possono risiedere in aree diverse da quelle scelte dall'utente per Data Factory.Data stores, such as Azure Storage and Azure SQL Database, and computes, such as HDInsight, that Data Factory uses can be in other regions than what you choose for Data Factory.

    // 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 to create the factory>";
    string resourceGroup = "<your resource group to create the factory>";
    
    string region = "<location to create the data factory in, such as East US>";
    string dataFactoryName = "<name of data factory to create (must be globally unique)>";
    
    // Specify the source Azure Blob information
    string storageAccount = "<your storage account name to copy data>";
    string storageKey = "<your storage account key>";
    string inputBlobPath = "adfv2tutorial/";
    string inputBlobName = "inputEmp.txt";
    
    // Specify the sink Azure SQL Database information
    string azureSqlConnString =
        "Server=tcp:<your server name>.database.windows.net,1433;" +
        "Database=<your database name>;" +
        "User ID=<your username>@<your server name>;" +
        "Password=<your password>;" +
        "Trusted_Connection=False;Encrypt=True;Connection Timeout=30";
    string azureSqlTableName = "dbo.emp";
    
    string storageLinkedServiceName = "AzureStorageLinkedService";
    string sqlDbLinkedServiceName = "AzureSqlDbLinkedService";
    string blobDatasetName = "BlobDataset";
    string sqlDatasetName = "SqlDataset";
    string pipelineName = "Adfv2TutorialBlobToSqlCopy";
    
  3. Aggiungere il codice seguente al metodo Main per creare un'istanza della classe DataFactoryManagementClient.Add the following code to the Main method that creates an instance of DataFactoryManagementClient class. Usare questo oggetto per creare una data factory, il servizio collegato, i set di dati e la pipeline.You use this object to create a data factory, linked service, datasets, and pipeline. È possibile usare questo oggetto anche per monitorare i dettagli sull'esecuzione della pipeline.You also use this object to monitor the pipeline run details.

    // Authenticate and create a data factory management client
    var context = new AuthenticationContext("https://login.windows.net/" + tenantID);
    ClientCredential cc = new ClientCredential(applicationId, authenticationKey);
    AuthenticationResult result = context.AcquireTokenAsync(
        "https://management.azure.com/", cc
    ).Result;
    ServiceClientCredentials cred = new TokenCredentials(result.AccessToken);
    var client = new DataFactoryManagementClient(cred) { SubscriptionId = subscriptionId };
    

Creare una data factoryCreate a data factory

Aggiungere il codice seguente al metodo Main per creare una data factory.Add the following code to the Main method that creates a data factory.

// Create a data factory
Console.WriteLine("Creating a data factory " + dataFactoryName + "...");
Factory dataFactory = new Factory
{
    Location = region,
    Identity = new FactoryIdentity()
};

client.Factories.CreateOrUpdate(resourceGroup, dataFactoryName, dataFactory);
Console.WriteLine(
    SafeJsonConvert.SerializeObject(dataFactory, client.SerializationSettings)
);

while (
    client.Factories.Get(
        resourceGroup, dataFactoryName
    ).ProvisioningState == "PendingCreation"
)
{
    System.Threading.Thread.Sleep(1000);
}

Creare servizi collegatiCreate linked services

In questa esercitazione verranno creati due servizi collegati, rispettivamente per l'origine e il sink.In this tutorial, you create two linked services for the source and sink, respectively.

Creare un servizio collegato Archiviazione di AzureCreate an Azure Storage linked service

Aggiungere il codice seguente al metodo Main per creare un servizio collegato di Archiviazione di Azure.Add the following code to the Main method that creates an Azure Storage linked service. Per informazioni sulle proprietà supportate e i dettagli, vedere Proprietà del servizio collegato BLOB di Azure.For information about supported properties and details, see Azure Blob linked service properties.

// Create an Azure Storage linked service
Console.WriteLine("Creating linked service " + storageLinkedServiceName + "...");

LinkedServiceResource storageLinkedService = new LinkedServiceResource(
    new AzureStorageLinkedService
    {
        ConnectionString = new SecureString(
            "DefaultEndpointsProtocol=https;AccountName=" + storageAccount +
            ";AccountKey=" + storageKey
        )
    }
);

client.LinkedServices.CreateOrUpdate(
    resourceGroup, dataFactoryName, storageLinkedServiceName, storageLinkedService
);
Console.WriteLine(
    SafeJsonConvert.SerializeObject(storageLinkedService, client.SerializationSettings)
);

Creare un servizio collegato Database SQL di AzureCreate an Azure SQL Database linked service

Aggiungere il codice seguente al metodo Main per creare un servizio collegato Database SQL di Azure.Add the following code to the Main method that creates an Azure SQL Database linked service. Per informazioni sulle proprietà supportate e i dettagli, vedere Proprietà del servizio collegato Database SQL di Azure.For information about supported properties and details, see Azure SQL Database linked service properties.

// Create an Azure SQL Database linked service
Console.WriteLine("Creating linked service " + sqlDbLinkedServiceName + "...");

LinkedServiceResource sqlDbLinkedService = new LinkedServiceResource(
    new AzureSqlDatabaseLinkedService
    {
        ConnectionString = new SecureString(azureSqlConnString)
    }
);

client.LinkedServices.CreateOrUpdate(
    resourceGroup, dataFactoryName, sqlDbLinkedServiceName, sqlDbLinkedService
);
Console.WriteLine(
    SafeJsonConvert.SerializeObject(sqlDbLinkedService, client.SerializationSettings)
);

Creare set di datiCreate datasets

In questa sezione vengono creati due set di dati: uno per l'origine e l'altro per il sink.In this section, you create two datasets: one for the source, the other for the sink.

Creare un set di dati per il BLOB di Azure di origineCreate a dataset for source Azure Blob

Aggiungere il codice seguente al metodo Main per creare un set di dati del BLOB di Azure.Add the following code to the Main method that creates an Azure blob dataset. Per informazioni sulle proprietà supportate e i dettagli, vedere Proprietà del set di dati del BLOB di Azure.For information about supported properties and details, see Azure Blob dataset properties.

Definire un set di dati che rappresenta i dati di origine nel BLOB di Azure.You define a dataset that represents the source data in Azure Blob. Questo set di dati del BLOB fa riferimento al servizio collegato Archiviazione di Azure creato nel passaggio precedente e descrive quanto segue:This Blob dataset refers to the Azure Storage linked service you create in the previous step, and describes:

  • Posizione del BLOB da cui eseguire la copia: FolderPath e FileNameThe location of the blob to copy from: FolderPath and FileName
  • Formato del BLOB che indica come analizzare il contenuto: TextFormat e relative impostazioni, ad esempio il delimitatore di colonnaThe blob format indicating how to parse the content: TextFormat and its settings, such as column delimiter
  • Struttura dei dati, inclusi i nomi di colonna e i tipi di dati mappati in questo esempio alla tabella SQL sinkThe data structure, including column names and data types, which map in this example to the sink SQL table
// Create an Azure Blob dataset
Console.WriteLine("Creating dataset " + blobDatasetName + "...");
DatasetResource blobDataset = new DatasetResource(
    new AzureBlobDataset
    {
        LinkedServiceName = new LinkedServiceReference {
            ReferenceName = storageLinkedServiceName
        },
        FolderPath = inputBlobPath,
        FileName = inputBlobName,
        Format = new TextFormat { ColumnDelimiter = "|" },
        Structure = new List<DatasetDataElement>
        {
            new DatasetDataElement { Name = "FirstName", Type = "String" },
            new DatasetDataElement { Name = "LastName", Type = "String" }
        }
    }
);

client.Datasets.CreateOrUpdate(
    resourceGroup, dataFactoryName, blobDatasetName, blobDataset
);
Console.WriteLine(
    SafeJsonConvert.SerializeObject(blobDataset, client.SerializationSettings)
);

Creare un set di dati per il database SQL di Azure sinkCreate a dataset for sink Azure SQL Database

Aggiungere il codice seguente al metodo Main per creare un set di dati del database SQL di Azure.Add the following code to the Main method that creates an Azure SQL Database dataset. Per informazioni sulle proprietà supportate e i dettagli, vedere Proprietà del set di dati del database SQL di Azure.For information about supported properties and details, see Azure SQL Database dataset properties.

Definire un set di dati che rappresenta i dati sink nel database SQL di Azure.You define a dataset that represents the sink data in Azure SQL Database. Questo set di dati fa riferimento al servizio collegato Database SQL di Azure creato nel passaggio precedenteThis dataset refers to the Azure SQL Database linked service you created in the previous step. e specifica anche la tabella SQL contenente i dati copiati.It also specifies the SQL table that holds the copied data.

// Create an Azure SQL Database dataset
Console.WriteLine("Creating dataset " + sqlDatasetName + "...");
DatasetResource sqlDataset = new DatasetResource(
    new AzureSqlTableDataset
    {
        LinkedServiceName = new LinkedServiceReference
        {
            ReferenceName = sqlDbLinkedServiceName
        },
        TableName = azureSqlTableName
    }
);

client.Datasets.CreateOrUpdate(
    resourceGroup, dataFactoryName, sqlDatasetName, sqlDataset
);
Console.WriteLine(
    SafeJsonConvert.SerializeObject(sqlDataset, client.SerializationSettings)
);

Creare una pipelineCreate a pipeline

Aggiungere il codice seguente al metodo Main per creare una pipeline con un'attività di copia.Add the following code to the Main method that creates a pipeline with a copy activity. In questa esercitazione la pipeline contiene solo un'attività, CopyActivity, che usa il set di dati del BLOB come origine e il set di dati SQL come sink.In this tutorial, this pipeline contains one activity: CopyActivity, which takes in the Blob dataset as source and the SQL dataset as sink. Per informazioni sui dettagli dell'attività di copia, vedere Attività di copia in Azure Data Factory.For information about copy activity details, see Copy activity in Azure Data Factory.

// Create a pipeline with copy activity
Console.WriteLine("Creating pipeline " + pipelineName + "...");
PipelineResource pipeline = new PipelineResource
{
    Activities = new List<Activity>
    {
        new CopyActivity
        {
            Name = "CopyFromBlobToSQL",
            Inputs = new List<DatasetReference>
            {
                new DatasetReference() { ReferenceName = blobDatasetName }
            },
            Outputs = new List<DatasetReference>
            {
                new DatasetReference { ReferenceName = sqlDatasetName }
            },
            Source = new BlobSource { },
            Sink = new SqlSink { }
        }
    }
};

client.Pipelines.CreateOrUpdate(resourceGroup, dataFactoryName, pipelineName, pipeline);
Console.WriteLine(
    SafeJsonConvert.SerializeObject(pipeline, client.SerializationSettings)
);

Creare un'esecuzione della pipelineCreate a pipeline run

Aggiungere il codice seguente al metodo Main per attivare un'esecuzione della pipeline.Add the following code to the Main method that triggers a pipeline run.

// Create a pipeline run
Console.WriteLine("Creating pipeline run...");
CreateRunResponse runResponse = client.Pipelines.CreateRunWithHttpMessagesAsync(
    resourceGroup, dataFactoryName, pipelineName
).Result.Body;
Console.WriteLine("Pipeline run ID: " + runResponse.RunId);

Monitorare un'esecuzione della pipelineMonitor a pipeline run

A questo punto, inserire il codice per controllare gli stati di esecuzione della pipeline e per ottenere i dettagli sull'esecuzione dell'attività di copia.Now insert the code to check pipeline run states and to get details about the copy activity run.

  1. Aggiungere il codice seguente al metodo Main per controllare continuamente gli stati dell'esecuzione della pipeline fino al termine della copia dei dati.Add the following code to the Main method to continuously check the statuses of the pipeline run until it finishes copying the data.

    // Monitor the pipeline run
    Console.WriteLine("Checking pipeline run status...");
    PipelineRun pipelineRun;
    while (true)
    {
        pipelineRun = client.PipelineRuns.Get(
            resourceGroup, dataFactoryName, runResponse.RunId
        );
        Console.WriteLine("Status: " + pipelineRun.Status);
        if (pipelineRun.Status == "InProgress")
            System.Threading.Thread.Sleep(15000);
        else
            break;
    }
    
  2. Aggiungere il codice seguente al metodo Main per recuperare i dettagli dell'esecuzione dell'attività di copia, ad esempio le dimensioni dei dati letti o scritti.Add the following code to the Main method that retrieves copy activity run details, such as the size of the data that was read or written.

    // Check the copy activity run details
    Console.WriteLine("Checking copy activity run details...");
    
    RunFilterParameters filterParams = new RunFilterParameters(
        DateTime.UtcNow.AddMinutes(-10), DateTime.UtcNow.AddMinutes(10)
    );
    
    ActivityRunsQueryResponse queryResponse = client.ActivityRuns.QueryByPipelineRun(
        resourceGroup, dataFactoryName, runResponse.RunId, filterParams
    );
    
    if (pipelineRun.Status == "Succeeded")
    {
        Console.WriteLine(queryResponse.Value.First().Output);
    }
    else
        Console.WriteLine(queryResponse.Value.First().Error);
    
    Console.WriteLine("\nPress any key to exit...");
    Console.ReadKey();
    

Eseguire il codiceRun the code

Per compilare l'applicazione scegliere Compila > Compila soluzione.Build the application by choosing Build > Build Solution. Avviare quindi l'applicazione e scegliere Debug > Avvia debug e verificare l'esecuzione della pipeline.Then start the application by choosing Debug > Start Debugging, and verify the pipeline execution.

La console stampa lo stato di avanzamento della creazione di una data factory, del servizio collegato, dei set di dati, della pipeline e della relativa esecuzione.The console prints the progress of creating a data factory, linked service, datasets, pipeline, and pipeline run. Controlla quindi lo stato di esecuzione della pipeline.It then checks the pipeline run status. Attendere fino a quando non vengono visualizzati i dettagli sull'esecuzione dell'attività di copia con le dimensioni dei dati letti/scritti.Wait until you see the copy activity run details with the data read/written size. Usare quindi strumenti come SSMS (SQL Server Management Studio) o Visual Studio per connettersi al database SQL di Azure di destinazione e verificare se la tabella di destinazione specificata contiene i dati copiati.Then, using tools such as SQL Server Management Studio (SSMS) or Visual Studio, you can connect to your destination Azure SQL Database and check whether the destination table you specified contains the copied data.

Output di esempioSample output

Creating a data factory AdfV2Tutorial...
{
  "identity": {
    "type": "SystemAssigned"
  },
  "location": "East US"
}
Creating linked service AzureStorageLinkedService...
{
  "properties": {
    "type": "AzureStorage",
    "typeProperties": {
      "connectionString": {
        "type": "SecureString",
        "value": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>"
      }
    }
  }
}
Creating linked service AzureSqlDbLinkedService...
{
  "properties": {
    "type": "AzureSqlDatabase",
    "typeProperties": {
      "connectionString": {
        "type": "SecureString",
        "value": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
      }
    }
  }
}
Creating dataset BlobDataset...
{
  "properties": {
    "type": "AzureBlob",
    "typeProperties": {
      "folderPath": "adfv2tutorial/",
      "fileName": "inputEmp.txt",
      "format": {
        "type": "TextFormat",
        "columnDelimiter": "|"
      }
    },
    "structure": [
      {
        "name": "FirstName",
        "type": "String"
      },
      {
        "name": "LastName",
        "type": "String"
      }
    ],
    "linkedServiceName": {
      "type": "LinkedServiceReference",
      "referenceName": "AzureStorageLinkedService"
    }
  }
}
Creating dataset SqlDataset...
{
  "properties": {
    "type": "AzureSqlTable",
    "typeProperties": {
      "tableName": "dbo.emp"
    },
    "linkedServiceName": {
      "type": "LinkedServiceReference",
      "referenceName": "AzureSqlDbLinkedService"
    }
  }
}
Creating pipeline Adfv2TutorialBlobToSqlCopy...
{
  "properties": {
    "activities": [
      {
        "type": "Copy",
        "typeProperties": {
          "source": {
            "type": "BlobSource"
          },
          "sink": {
            "type": "SqlSink"
          }
        },
        "inputs": [
          {
            "type": "DatasetReference",
            "referenceName": "BlobDataset"
          }
        ],
        "outputs": [
          {
            "type": "DatasetReference",
            "referenceName": "SqlDataset"
          }
        ],
        "name": "CopyFromBlobToSQL"
      }
    ]
  }
}
Creating pipeline run...
Pipeline run ID: 1cd03653-88a0-4c90-aabc-ae12d843e252
Checking pipeline run status...
Status: InProgress
Status: InProgress
Status: Succeeded
Checking copy activity run details...
{
  "dataRead": 18,
  "dataWritten": 28,
  "rowsCopied": 2,
  "copyDuration": 2,
  "throughput": 0.01,
  "errors": [],
  "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (East US)",
  "usedDataIntegrationUnits": 2,
  "billedDuration": 2
}

Press any key to exit...

Passaggi successiviNext steps

La pipeline in questo esempio copia i dati da una posizione a un'altra in un archivio BLOB di Azure.The pipeline in this sample copies data from one location to another location in an Azure blob storage. Si è appreso come:You learned how to:

  • Creare una data factory.Create a data factory.
  • Creare servizi collegati Archiviazione di Azure e Database SQL di Azure.Create Azure Storage and Azure SQL Database linked services.
  • Creare i set di dati del BLOB di Azure e del database SQL di Azure.Create Azure Blob and Azure SQL Database datasets.
  • Creare una pipeline contenente un'attività di copia.Create a pipeline containing a copy activity.
  • Avviare un'esecuzione della pipeline.Start a pipeline run.
  • Monitorare le esecuzioni di pipeline e attività.Monitor the pipeline and activity runs.

Passare all'esercitazione successiva per ottenere informazioni sulla copia di dati dall'ambiente locale al cloud:Advance to the following tutorial to learn about copying data from on-premises to cloud: