Usare .Net SDK per avviare la trasformazione dei datiUse the .Net SDK to initiate data transformation

PanoramicaOverview

Questo articolo illustra come usare la funzione di trasformazione dei dati all'interno del servizio StorSimple Data Manager per trasformare i dati del dispositivo StorSimple.This article explains how you can use the data transformation feature within the StorSimple Data Manager service to transform StorSimple device data. I dati trasformati vengono quindi usati da altri servizi di Azure nel cloud.The transformed data is then consumed by other Azure services in the cloud.

È possibile avviare un processo di trasformazione dei dati in due modi:You can launch a data transformation job in two ways:

  • Usare .NET SDKUse the .NET SDK
  • Usare un runbook di Automazione di AzureUse Azure Automation runbook

    L'articolo descrive una procedura dettagliata per creare un'applicazione console .NET di esempio allo scopo di avviare un processo di trasformazione dei dati e tenere traccia dei risultati per il completamento.This article details how to create a sample .NET console application to initiate a data transformation job and then track it for completion. Per altre informazioni su come avviare la trasformazione dei dati tramite automazione, passare a Usare Automazione di Azure per attivare processi d trasformazione dei dati.To learn more about how to initiate data transformation via Automation, go to Use Azure Automation runbook to trigger data transformation jobs.

prerequisitiPrerequisites

Prima di iniziare, assicurarsi di disporre di:Before you begin, ensure that you have:

Procedura dettagliataStep-by-step procedure

Eseguire la procedura seguente per usare .NET allo scopo di avviare un processo di trasformazione dei dati.Perform the following steps to use .NET to launch a data transformation job.

  1. Per recuperare i parametri di configurazione, eseguire la procedura seguente:To retrieve the configuration parameters, do the following steps:

    1. Scaricare lo script Get-ConfigurationParams.ps1 dal repository GitHub nel percorso C:\DataTransformation.Download the Get-ConfigurationParams.ps1 from the GitHub repository script in C:\DataTransformation location.
    2. Eseguire lo script Get-ConfigurationParams.ps1 dal repository GitHub.Run the Get-ConfigurationParams.ps1 script from the GitHub repository. Digitare il comando seguente:Type the following command:

      C:\DataTransformation\Get-ConfigurationParams.ps1 -SubscriptionName "AzureSubscriptionName" -ActiveDirectoryKey "AnyRandomPassword" -AppName "ApplicationName"
      

      È possibile trasmettere qualsiasi valore per ActiveDirectoryKey e AppName.You can pass in any values for the ActiveDirectoryKey and AppName.

  2. Questo script restituisce i valori seguenti:This script outputs the following values:

    • ID clientClient ID
    • ID tenantTenant ID
    • Chiave di Active Directory (uguale a quella immessa in precedenza)Active Directory key (same as the one entered above)
    • ID sottoscrizioneSubscription ID

      Output dello script dei parametri di configurazione

  3. Usando Visual Studio 2012, 2013 o 2015, creare un'applicazione console .NET in C#.Using Visual Studio 2012, 2013 or 2015, create a C# .NET console application.

    1. Avviare Visual Studio 2012/2013/2015.Launch Visual Studio 2012/2013/2015.
    2. Fare clic su File > Nuovo > Progetto.Select File > New > Project.

      Creare un progetto 1

    3. Selezionare Modelli installati > Modelli > Visual C# >Applicazione console.Select Installed > Templates > Visual C# > Console Application.
    4. Immettere DataTransformationApp per il Nome.Enter DataTransformationApp for the Name.
    5. Selezionare C:\DataTransformation per il Percorso.Select C:\DataTransformation for the Location.
    6. Fare clic su OK per creare il progetto.Click OK to create the project.

      Creare un progetto 2

  4. Aggiungere quindi tutte le DLL presenti nella cartella dlls come Riferimenti nel progetto creato.Now, add all dlls present in the dlls folder as References in the project that you created. Per aggiungere i file DLL, eseguire le operazioni seguenti:To add the dll files, perform the following:

    1. In Visual Studio passare a Visualizza > Esplora soluzioni.In Visual Studio, go to View > Solution Explorer.
    2. Fare clic sulla freccia a sinistra del progetto Data Transformation App.Click the arrow to the left of Data Transformation App project. Fare clic su Riferimenti e quindi fare clic con il pulsante destro del mouse su Aggiungi riferimento.Click References and then right-click to Add Reference.

      Aggiungere DLL 1

    3. Passare al percorso della cartella dei pacchetti, selezionare tutte le DLL e fare clic su Aggiungi, quindi su OK.Browse to the location of the packages folder, select all the dlls and click Add, and then click OK.

      Aggiungere DLL 2

  5. Aggiungere le istruzioni using seguenti al file di origine (Program.cs) nel progetto.Add the following using statements to the source file (Program.cs) in the project.

    using System;
    using System.Collections.Generic;
    using System.Threading;
    using Microsoft.Azure.Management.HybridData.Models;
    using Microsoft.Internal.Dms.DmsWebJob;
    using Microsoft.Internal.Dms.DmsWebJob.Contracts;
    
  6. Il codice seguente consente di inizializzare l'istanza di processo di trasformazione dei dati.The following code initializes the data transformation job instance. Aggiungerlo nel metodo Main.Add this in the Main method. Sostituire i valori dei parametri di configurazione ottenuti in precedenza.Replace the values of configuration parameters as obtained earlier. Immettere i valori del nome del gruppo di risorse e del nome della risorsa.Plug in the values of Resource Group Name and ResourceName. Il nome del gruppo di risorse è associato alla gestione dati di StorSimple in cui è stata configurata la definizione del processo.The ResourceGroupName is the associated with the StorSimple Data Manager on which the job definition was configured. Il nome della risorsa è il nome del servizio gestione dati di StorSimple.The ResourceName is the name of your StorSimple Data Manager service.

    // Setup the configuration parameters.
    var configParams = new ConfigurationParams
    {
        ClientId = "client-id",
        TenantId = "tenant-id",
        ActiveDirectoryKey = "active-directory-key",
        SubscriptionId = "subscription-id",
        ResourceGroupName = "resource-group-name",
        ResourceName = "resource-name"
    };
    
    // Initialize the Data Transformation Job instance.
    DataTransformationJob dataTransformationJob = new DataTransformationJob(configParams);
    
  7. Specificare i parametri con cui deve essere eseguita la definizione del processoSpecify the parameters with which the job definition needs to be run

    string jobDefinitionName = "job-definition-name";
    
    DataTransformationInput dataTransformationInput = dataTransformationJob.GetJobDefinitionParameters(jobDefinitionName);
    

    OPPURE(OR)

    Se si desidera modificare i parametri della definizione del processo in fase di esecuzione, aggiungere il codice seguente:If you want to change the job definition parameters during run time, then add the following code:

    string jobDefinitionName = "job-definition-name";
    // Must start with a '\'
    var rootDirectories = new List<string> {@"\root"};
    
    // Name of the volume on the StorSimple device.
    var volumeNames = new List<string> {"volume-name"};
    
    var dataTransformationInput = new DataTransformationInput
    {
        // If you require the latest existing backup to be picked else use TakeNow to trigger a new backup.
        BackupChoice = BackupChoice.UseExistingLatest.ToString(),
        // Name of the StorSimple device.
        DeviceName = "device-name",
        // Name of the container in Azure storage where the files will be placed after execution.
        ContainerName = "container-name",
        // File name filter (search pattern) to be applied on files under the root directory. * - Match all files.
        FileNameFilter = "*",
        // List of root directories.
        RootDirectories = rootDirectories,
        // Name of the volume on StorSimple device on which the relevant data is present. 
        VolumeNames = volumeNames
    };
    
  8. Dopo l'inizializzazione, aggiungere il codice seguente per attivare un processo di trasformazione dati sulla definizione del processo.After the initialization, add the following code to trigger a data transformation job on the job definition. Immettere il nome della definizione processo.Plug in the appropriate Job Definition Name.

    // Trigger a job, retrieve the jobId and the retry interval for polling.
    int retryAfter;
    string jobId = dataTransformationJob.RunJobAsync(jobDefinitionName, 
    dataTransformationInput, out retryAfter);
    Console.WriteLine("jobid: ", jobId);
    Console.ReadLine();
    

    Una volta incollato il codice, compilare la soluzione.Once the code is pasted, build the solution. Di seguito è riportata una schermata del frammento di codice per inizializzare l'istanza di processo di trasformazione dei dati.Here is a screenshot of the code snippet to initialize the data transformation job instance.

    Frammento di codice per inizializzare il processo di trasformazione dei dati

  9. Questo processo trasforma i dati che soddisfano la directory radice e i filtri all'interno del volume StorSimple e li inserisce nel contenitore o nella condivisione file specificati.This job transforms the data that matches the root directory and file filters within the StorSimple volume and puts it into the specified container/file share. Quando un file viene trasformato, viene rilasciato un messaggio nella coda di archiviazione (nello stesso account di archiviazione del contenitore/della condivisione file) con lo stesso nome della definizione del processo.When a file is transformed, a message is added to a storage queue (in the same storage account as the container/file share) with the same name as the job definition. Questo messaggio può essere usato come trigger per avviare un'ulteriore elaborazione del file.This message can be used as a trigger to initiate any further processing of the file.

  10. Dopo l'attivazione del processo, è possibile usare il codice seguente per tenere traccia dei risultati per il completamento.Once the job has been triggered, you can use the following code to track the job for completion. Non è obbligatorio aggiungere il codice per l'esecuzione del processo.It is not mandatory to add this code for the job run.

    Job jobDetails = null;
    
    // Poll the job.
    do
    {
        jobDetails = dataTransformationJob.GetJob(jobDefinitionName, jobId);
    
        // Wait before polling for the status again.
        Thread.Sleep(TimeSpan.FromSeconds(retryAfter));
    
    } while (jobDetails.Status == JobStatus.InProgress);
    
    // Completion status of the job.
    Console.WriteLine("JobStatus: {0}", jobDetails.Status);
    
    // To hold the console before exiting.
    Console.Read();
    

    Di seguito è riportata una schermata dell'intero codice di esempio usato per attivare il processo tramite .NET.Here is a screenshot of the entire code sample used to trigger the job using .NET.

    Frammento di codice completo per attivare un processo .NET

Passaggi successiviNext steps

Usare l'interfaccia utente di StorSimple Data Manager per la trasformazione dei dati.Use StorSimple Data Manager UI to transform your data.