MSDN ライブラリ

オンデマンド転送の実行

更新日: 2015年11月

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

    接続文字列の使用の詳細については、「How to Configure Connection Strings」を参照してください。

  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. 転送オプションを指定します。次のコード例では、3 時間前から現在までのエントリを転送する方法を示します。

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

関連項目

表示:
© 2016 Microsoft