匯出 (0) 列印
全部展開

執行隨選傳輸

更新日期: 2013年12月

您可以使用 Microsoft.WindowsAzure.Diagnostics.Management 中的類別來執行隨選的診斷資料傳輸。您可以從角色內執行的程式碼、Windows Azure 中另一個執行的應用程式,或是 Windows Azure 外部的應用程式完成隨選傳輸。在您完成本節的步驟之前,您必須初始化診斷監視器,並指定要使用的儲存體帳戶。若要這麼做,請參閱在 Windows Azure 中啟用診斷

取得部署識別碼、角色名稱和角色執行個體名稱

如果您從 Windows Azure 外部執行的程式碼來執行隨選傳輸,您必須手動從入口網站記錄應用程式的部署識別碼、角色名稱和角色執行個體名稱來取得這些資訊。

若要取得部署識別碼、角色名稱和角色執行個體名稱

  1. 登入入口網站。

  2. 按一下 [計算服務],然後展開應用程式的節點。

  3. 按一下應用程式的部署。

  4. 記錄 [屬性] 窗格中的 [識別碼] 值。這是您的託管服務的部署識別碼。

  5. 展開部署節點,然後按一下要收集診斷資料之角色的節點。

  6. 記錄 [屬性] 窗格中的 [名稱] 值。這是角色的名稱。

  7. 展開角色節點,然後按一下角色執行個體的節點。

  8. 記錄 [屬性] 窗格中的 [名稱] 值。這是角色執行個體的識別碼。

執行診斷資料的隨選傳輸

如果您想要從執行中的程式碼執行隨選傳輸,您可以使用 RoleInstanceDiagnosticManager 類別的屬性。

若要執行隨選傳輸

  1. 開啟您用來執行傳輸之程式的來源檔。

  2. 確定專案會參考 Microsoft.WindowsAzure.Diagnostics.dll 檔案,而且以下 using 陳述式已加入至此檔案:

    
    using Microsoft.WindowsAzure.Diagnostics; 
    using Microsoft.WindowsAzure.Diagnostics.Management;
    
    
  3. 從組態中取得儲存體認證。下列程式碼範例示範如何使用 Parse 方法來取得認證:

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

    如需有關使用連接字串的詳細資訊,請參閱<設定 Windows Azure 連接字串>。

  4. 建立 DeploymentDiagnosticManager 的執行個體。以下程式碼範例示範如何使用儲存體帳戶物件和部署識別碼來建立新的執行個體:

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

    其中 <DeploymentID> 是您在上一個程序取得的值。

  5. 建立角色執行個體診斷管理員。下列程式碼範例示範如何建立這個診斷管理員:

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

    其中 <RoleName> 和 <RoleInstanceID> 是您在上一個程序取得的值。

  6. 指定您要傳輸的記錄檔。下列程式碼範例會示範如何傳輸 Windows Azure 記錄檔:

    DataBufferName dataBuffersToTransfer = DataBufferName.Logs;
    

    如需有關可以加入之資料緩衝區的詳細資訊,請參閱<DataBufferName>。

  7. 指定傳輸選項。下列程式碼範例示範如何傳輸三個小時前到現在的項目:

    
    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;
    
    

    如需有關傳輸選項的詳細資訊,請參閱<OnDemandTransferOptions>。

  8. 要求必須傳輸資料。下列程式碼範例示範如何使用之前定義的資料緩衝區和傳輸選項開始傳輸:

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

另請參閱

顯示:
© 2014 Microsoft