(0) exportieren Drucken
Alle erweitern

Durchführen einer bedarfsgesteuerten Übertragung

Letzte Aktualisierung: Dezember 2013

Sie können die Klassen in Microsoft.WindowsAzure.Diagnostics.Management verwenden, um eine bedarfsgesteuerte Übertragung von Diagnosedaten durchzuführen. Eine bedarfsgesteuerte Übertragung kann über den in einer Rolle ausgeführten Code, über eine andere in Windows Azure ausgeführte Anwendung oder über eine Anwendung außerhalb von Windows Azure durchgeführt werden. Vor dem Ausführen der Schritte in diesem Abschnitt müssen Sie den Diagnosemonitor initialisieren und das Speicherkonto angeben, das verwendet werden soll. Informationen hierzu finden Sie unter Aktivieren der Diagnose in Windows Azure.

Abrufen von Bereitstellungsbezeichner, Rollenname und Rolleninstanzname

Wenn Sie eine bedarfsgesteuerte Übertragung mithilfe von Code durchführen, der außerhalb von Windows Azure ausgeführt wird, müssen Sie den Bereitstellungsbezeichner, den Rollennamen und den Rolleninstanznamen für Ihre Anwendung abrufen, indem Sie diese manuell im Portal aufzeichnen.

So rufen Sie den Bereitstellungsbezeichner, Rollennamen und Rolleninstanznamen ab

  1. Melden Sie sich am Portal an.

  2. Klicken Sie auf Serverdienste, und erweitern Sie dann den Knoten für die Anwendung.

  3. Klicken Sie auf die Bereitstellung für die Anwendung.

  4. Notieren Sie den Wert für ID aus dem Eigenschaftenbereich. Dies ist der Bereitstellungsbezeichner des gehosteten Diensts.

  5. Erweitern Sie den Bereitstellungsknoten, und klicken Sie dann auf den Knoten der Rolle, aus der Sie Diagnosedaten sammeln möchten.

  6. Notieren Sie den Wert für Name aus dem Eigenschaftenbereich. Das ist der Name der Rolle.

  7. Erweitern Sie den Knoten der Rolle, und klicken Sie dann auf den Knoten für die Rolleninstanz.

  8. Notieren Sie den Wert für Name aus dem Eigenschaftenbereich. Dies ist der Bezeichner der Rolleninstanz.

Ausführen einer bedarfsgesteuerten Übertragung von Diagnosedaten

Wenn Sie von innerhalb einer ausgeführten Rolle eine bedarfsgesteuerte Übertragung durchführen möchten, können Sie die Eigenschaften der RoleInstanceDiagnosticManager-Klasse verwenden.

So führen Sie eine bedarfsgesteuerte Übertragung durch

  1. Öffnen Sie die Quelldatei für das Programm, das Sie für die Übertragung verwenden.

  2. Stellen Sie sicher, dass das Projekt auf die Datei Microsoft.WindowsAzure.Diagnostics.dll verweist und dass der Datei die folgenden using-Anweisungen hinzugefügt wurden:

    
    using Microsoft.WindowsAzure.Diagnostics; 
    using Microsoft.WindowsAzure.Diagnostics.Management;
    
    
  3. Rufen Sie die Anmeldeinformationen aus der Konfiguration ab. Im folgenden Codebeispiel wird gezeigt, wie die Parse-Methode zum Abrufen der Anmeldeinformationen verwendet wird:

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

    Weitere Informationen zum Verwenden von Verbindungszeichenfolgen finden Sie unter Konfigurieren von Windows Azure-Verbindungszeichenfolgen.

  4. Erstellen Sie eine Instanz der DeploymentDiagnosticManager-Klasse. Im folgenden Codebeispiel wird gezeigt, wie mithilfe des Speicherkontoobjekts und des Bereitstellungsbezeichners eine neue Instanz erstellt wird:

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

    Hierbei ist <DeploymentID> der Wert, den Sie im vorherigen Verfahren abgerufen haben.

  5. Erstellen Sie einen Rolleninstanz-Diagnosemanager. Im folgenden Codebeispiel wird veranschaulicht, wie dieser Diagnosemanager erstellt wird:

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

    Hierbei sind <RoleName> und <RoleInstanceID> die Werte, die Sie im vorherigen Verfahren abgerufen haben.

  6. Geben Sie die Protokolle an, die Sie übertragen möchten. Im folgenden Codebeispiel wird gezeigt, wie Windows Azure-Protokolle übertragen werden:

    DataBufferName dataBuffersToTransfer = DataBufferName.Logs;
    

    Informationen zu den Datenpuffern, die hinzugefügt werden können, finden Sie unter DataBufferName.

  7. Geben Sie die Übertragungsoptionen an. Das folgende Codebeispiel veranschaulicht, wie die Einträge aus den letzten drei Stunden übertragen werden:

    
    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;
    
    

    Weitere Informationen zu den Übertragungsoptionen finden Sie unter OnDemandTransferOptions.

  8. Fordern Sie die Datenübertragung an. Im folgenden Codebeispiel wird gezeigt, wie die Übertragung mithilfe der Datenpuffer und der definierten Übergangsoptionen gestartet wird:

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

Siehe auch

Anzeigen:
© 2014 Microsoft