Esporta (0) Stampa
Espandi tutto

Eseguire un trasferimento su richiesta

Aggiornamento: dicembre 2014

È possibile utilizzare le classi in Microsoft.WindowsAzure.Diagnostics.Management per eseguire un trasferimento su richiesta dei dati di diagnostica. È possibile completare un trasferimento su richiesta dal codice eseguito in un ruolo, da un'altra applicazione in esecuzione in Microsoft Azure o da un'applicazione esterna a Microsoft Azure. Prima di completare i passaggi illustrati in questa sezione, è necessario inizializzare il monitoraggio Diagnostica e specificare l'account di archiviazione da utilizzare. A tale scopo, vedere la pagina relativa all'abilitazione di Diagnostica in Azure.

Se si esegue un trasferimento su richiesta dal codice eseguito all'esterno di Microsoft Azure, è necessario ottenere l'identificatore di distribuzione, il nome del ruolo e il nome dell'istanza del ruolo per l'applicazione registrandoli manualmente dal portale.

  1. Accedere al portale.

  2. Fare clic su Servizi di calcoloed espandere il nodo per l'applicazione.

  3. Fare clic sulla distribuzione per l'applicazione.

  4. Registrare il valore ID dal riquadro Proprietà. Si tratta dell'identificatore di distribuzione del servizio ospitato.

  5. Espandere il nodo di distribuzione e fare clic sul nodo per il ruolo da cui si desidera raccogliere i dati di diagnostica.

  6. Registrare il valore Nome dal riquadro Proprietà. Si tratta del nome del ruolo.

  7. Espandere il ruolo del nodo e fare clic sul nodo dell'istanza del ruolo.

  8. Registrare il valore Nome dal riquadro Proprietà. Si tratta dell'identificatore dell'istanza del ruolo.

Se si desidera eseguire un trasferimento su richiesta da un ruolo in esecuzione, è possibile utilizzare le proprietà della classe RoleInstanceDiagnosticManager.

noteNota
Si applica ad Azure SDK 2.4 e versioni precedenti.

  1. Aprire il file di origine per il programma utilizzato per eseguire il trasferimento.

  2. Assicurarsi che il progetto faccia riferimento al file Microsoft.WindowsAzure.Diagnostics.dll e che le istruzioni using seguenti vengano aggiunte al file:

    
    using Microsoft.WindowsAzure.Diagnostics; 
    using Microsoft.WindowsAzure.Diagnostics.Management;
    
    
  3. Ottenere le credenziali di archiviazione dalla configurazione. Nell'esempio di codice seguente viene illustrato come utilizzare il metodo Parse per ottenere le credenziali:

    var storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=<AccountKey>");
    

    Per ulteriori informazioni sull'utilizzo delle stringhe di connessione, vedere Configurazione delle stringhe di connessione di Azure.

  4. Creare un'istanza della classe DeploymentDiagnosticManager. Nell'esempio di codice seguente viene illustrato come creare una nuova istanza utilizzando l'oggetto account di archiviazione e l'identificatore di distribuzione:

    
    var diagManager = new DeploymentDiagnosticManager(storageAccount, "<DeploymentID>"); 
    
    

    Dove <DeploymentID> è il valore ottenuto nella procedura descritta in precedenza.

  5. Creare un gestore di diagnostica dell'istanza del ruolo. Nell'esempio di codice seguente viene illustrato come creare questo gestore di diagnostica:

    var roleInstDiagMgr = diagManager.GetRoleInstanceDiagnosticManager("<RoleName>", "<RoleInstanceID>");
    

    Dove <RoleName> e <RoleInstanceID> sono i valori ottenuti nella procedura precedente.

  6. Specificare i log che si desidera trasferire. L'esempio di codice seguente illustra come trasferire i log di Microsoft Azure:

    DataBufferName dataBuffersToTransfer = DataBufferName.Logs;
    

    Per informazioni sui buffer di dati che è possibile aggiungere, vedere DataBufferName.

  7. Specificare le opzioni di trasferimento. Nell'esempio di codice seguente viene illustrato come trasferire voci da tre ore fa fino a ora:

    
    OnDemandTransferOptions transferOptions = new OnDemandTransferOptions();
    transferOptions.NotificationQueueName = "wad-on-demand-transfers";
    var timeInterval = new TimeSpan(3, 0, 0);
    transferOptions.From = DateTime.UtcNow.Subtract(timeInterval);
    transferOptions.To = DateTime.UtcNow;
    
    

    Per ulteriori informazioni sulle opzioni di trasferimento, vedere OnDemandTransferOptions.

  8. Richiedere che i dati vengano trasferiti. Nell'esempio di codice seguente viene illustrato come avviare il trasferimento utilizzando i buffer di dati e le opzioni di trasferimento definiti:

    Guid requestID = roleInstDiagMgr.BeginOnDemandTransfer(dataBuffersToTransfer, transferOptions);
    

Vedere anche

Mostra:
© 2015 Microsoft