Usare .Net SDK per avviare la trasformazione dei dati (anteprima privata)Use the .Net SDK to initiate data transformation (Private Preview)

OverviewOverview

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. L'articolo descrive anche 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.The article also has a walkthrough to help create a sample .NET console application to initiate a data transformation job and then track it for completion.

PrerequisitiPrerequisites

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

  • Un sistema con Visual Studio 2012, 2013, 2015 o 2017 installato.A system with Visual Studio 2012, 2013, 2015, or 2017 installed.
  • Azure Powershell installato.Azure Powershell installed. Scaricare Azure Powershell.Download Azure Powershell.
  • Impostazioni di configurazione per l'inizializzazione del processo di trasformazione dei dati (le istruzioni per ottenere queste impostazioni sono incluse qui).Configuration settings to initialize the Data Transformation job (instructions to obtain these settings are included here).
  • Una definizione di processo configurata correttamente in una risorsa dati ibridi all'interno di un gruppo di risorse.A job definition that has been correctly configured in a Hybrid Data Resource within a Resource Group.
  • Tutte le DLL necessarie.All the required dlls. Scaricare le DLL dal repository GitHub.Download these dlls from the GitHub repository.
  • Script Get-ConfigurationParams.ps1 dal repository GitHub.Get-ConfigurationParams.ps1 script from the github repository.

Procedura dettagliataStep-by-step

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
  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, scegliere Nuovo e quindi fare clic su Progetto.Click File, point to New, and click Project.
    3. Espandere Modelli e quindi selezionare Visual C#.Expand Templates, and select Visual C#.
    4. Selezionare Applicazione console dall'elenco dei tipi di progetto a destra.Select Console Application from the list of project types on the right.
    5. Immettere DataTransformationApp per il Nome.Enter DataTransformationApp for the Name.
    6. Selezionare C:\DataTransformation per il Percorso.Select C:\DataTransformation for the Location.
    7. Fare clic su OK per creare il progetto.Click OK to create the project.
  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 scaricare i file DLL, eseguire le operazioni seguenti:To download the dll files, do 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.
    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.
  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 dati ibridi.Plug in the values of Resource Group Name and Hybrid Data Resource name. Il nome del gruppo di risorse ospita la risorsa dati ibridi in cui era stata configurata la definizione del processo.The Resource Group Name is the one that hosts the Hybrid Data Resource on which the job definition was configured.

    // 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);
    
  9. Questo processo carica i file corrispondenti presenti nella directory radice del volume di StorSimple nel contenitore specificato.This job uploads the matched files present under the root directory on the StorSimple volume to the specified container. Quando viene caricato un file, viene rilasciato un messaggio nella coda (nello stesso account di archiviazione del contenitore) con lo stesso nome della definizione del processo.When a file is uploaded, a message is dropped in the queue (in the same storage account as the container) 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, aggiungere il codice seguente per tenere traccia dei risultati per il completamento.Once the job has been triggered, add the following code to track the job for completion.

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

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.