Exporter (0) Imprimer
Développer tout

Effectuer un transfert à la demande

Mis à jour: décembre 2013

Vous pouvez utiliser les classes dans Microsoft.WindowsAzure.Diagnostics.Management pour exécuter un transfert à la demande des données de diagnostics. Un transfert à la demande peut être effectué à partir de code exécuté dans un rôle, d'une autre application dans Windows Azure ou d'une application en dehors de Windows Azure. Avant d'effectuer les étapes de cette section, vous devez initialiser le moniteur de diagnostic et spécifier le compte de stockage à utiliser. Pour cela, voir Activation des diagnostics dans Windows Azure.

Obtenir l'identificateur de déploiement, le nom de rôle et le nom de l'instance de rôle

Si vous effectuez un transfert à la demande à partir de code qui s'exécute en dehors de Windows Azure, vous devez obtenir l'identificateur de déploiement, le nom de rôle et le nom de l'instance de rôle pour votre application en les enregistrant manuellement à partir du portail.

Pour obtenir l'identificateur de déploiement, le nom de rôle et le nom de l'instance de rôle

  1. Connectez-vous au portail.

  2. Cliquez sur Services de calcul, puis développez le nœud de votre application.

  3. Cliquez sur le déploiement correspondant à l'application.

  4. Enregistrez la valeur ID mentionnée dans le volet Propriétés. Il s'agit de l'identificateur de déploiement de votre service hébergé.

  5. Développez le nœud de déploiement, puis cliquez sur le nœud du rôle à partir duquel vous voulez recueillir des données de diagnostics.

  6. Enregistrez la valeur Nom mentionnée dans le volet Propriétés. Il s'agit du nom du rôle.

  7. Développez le nœud de rôle, puis cliquez sur le nœud de l'instance de rôle.

  8. Enregistrez la valeur Nom mentionnée dans le volet Propriétés. Il s'agit de l'identificateur de l'instance de rôle.

Effectuer un transfert à la demande des données de diagnostics

Si vous voulez effectuer un transfert à la demande à partir d'un rôle en cours de exécution, vous pouvez utiliser les propriétés de la classe RoleInstanceDiagnosticManager.

Pour effectuer un transfert à la demande

  1. Ouvrez le fichier source du programme que vous utilisez pour exécuter le transfert.

  2. Vérifiez que le projet fait référence au fichier Microsoft.WindowsAzure.Diagnostics.dll et que les instructions using suivantes sont ajoutées au fichier :

    
    using Microsoft.WindowsAzure.Diagnostics; 
    using Microsoft.WindowsAzure.Diagnostics.Management;
    
    
  3. Obtenez les informations d'identification de stockage à partir de la configuration. L'exemple de code suivant montre comment utiliser la méthode Parse pour obtenir les informations d'identification :

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

    Pour plus d'informations sur l'utilisation des chaînes de connexion, voir Configuration des chaînes de connexion Windows Azure.

  4. Créez une instance de DeploymentDiagnosticManager. L'exemple de code suivant montre comment créer une instance à l'aide de l'objet de compte de stockage et de l'identificateur de déploiement :

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

    Lorsque <DeploymentID> est la valeur que vous avez obtenue lors de la procédure précédente.

  5. Créez un gestionnaire de diagnostic d'instance de rôle. L'exemple de code suivant montre comment créer ce gestionnaire de diagnostic :

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

    Lorsque <RoleName> et <RoleInstanceID> sont les valeurs que vous avez obtenues lors de la procédure précédente.

  6. Spécifiez les journaux que vous souhaitez transférer. L'exemple de code suivant montre comment transférer les journaux Windows Azure :

    DataBufferName dataBuffersToTransfer = DataBufferName.Logs;
    

    Pour plus d'informations sur les tampons de données qui peuvent être ajoutés, voir DataBufferName.

  7. Spécifiez les options de transfert. L'exemple de code suivant montre comment transférer des entrées d'il y a trois heures jusqu'à maintenant :

    
    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;
    
    

    Pour plus d'informations sur les options de transfert, voir OnDemandTransferOptions.

  8. Demandez à ce que les données soient transférées. L'exemple de code suivant montre comment démarrer le transfert à l'aide des tampons de données et des options de transfert qui ont été définis :

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

Voir aussi

Afficher:
© 2014 Microsoft