销售电话: 1-800-867-1380

执行按需传输

更新时间: 2014年12月

可以使用 Microsoft.WindowsAzure.Diagnostics.Management 中的类执行按需诊断数据传输。可以从在角色中运行的代码、在 Microsoft Azure 中运行的其他应用程序或 Microsoft Azure 外部的应用程序中完成按需传输。在完成本节中的步骤之前,你必须初始化诊断监视器并指定要使用的存储帐户。若要执行此操作,请参阅启用 Windows Azure 诊断功能

如果要从在 Microsoft Azure 外部运行的代码中执行按需传输,你必须在门户中手动记录以获取你的应用程序的部署标识符、角色名称和角色实例名称。

  1. 登录到门户。

  2. 单击“计算服务”,然后展开你的应用程序的节点。

  3. 单击该应用程序的部署。

  4. 记录“属性”窗格中的“ID”值。这是托管服务的部署标识符。

  5. 展开部署节点,然后单击要从中收集诊断数据的角色的节点。

  6. 记录“属性”窗格中的“名称”值。这是角色的名称。

  7. 展开角色节点,然后单击角色实例的节点。

  8. 记录“属性”窗格中的“名称”值。这是角色实例的标识符。

如果要从运行的角色中执行按需传输,你可以使用 RoleInstanceDiagnosticManager 类的属性。

note备注
这适用于 Azure SDK 2.4 和更低版本。

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

    有关使用连接字符串的更多信息,请参见配置 Azure 连接字符串

  4. 创建一个 DeploymentDiagnosticManager 实例。下面的代码示例说明了如何使用存储帐户对象和部署标识符创建新实例:

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

    其中 <DeploymentID> 是在前面的步骤中获取的值。

  5. 创建一个角色实例诊断管理器。下面的代码示例说明了如何创建该诊断管理器:

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

    其中 <RoleName> 和 <RoleInstanceID> 是在前面的步骤中获取的值。

  6. 指定要传输的日志。下面的代码示例说明了如何传输 Microsoft 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);
    

另请参阅

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2015 Microsoft