Partage via


Conserver les résultats des tâches et des travaux

Une tâche qui s’exécute dans Azure Batch peut produire des données de sortie pendant son exécution. Le plus souvent, les données de sortie des tâches doivent être stockées pour être récupérées par d’autres tâches du travail et/ou par l’application cliente qui a exécuté le travail. Les tâches écrivent les données de sortie dans le système de fichiers d’un nœud de calcul Batch, mais toutes les données du nœud sont perdues lorsque le nœud est réinitialisé ou qu’il quitte le pool. En outre, les tâches sont parfois associées à une période de rétention de fichier, au terme de laquelle les fichiers créés par la tâche sont supprimés. Pour toutes ces raisons, il est important de conserver la sortie des tâches dont vous aurez besoin par la suite dans un magasin de données tel que Stockage Azure.

Pour plus d’options de compte de stockage dans Batch, consultez Comptes de Stockage Azure et Batch.

Voici quelques exemples courants de sortie de tâche :

  • Fichiers créés au moment où la tâche traite des données d’entrée.
  • Fichiers journaux associés à l’exécution des tâches.

Cet article décrit les différentes options de conservation des données de sortie. Vous pouvez conserver les données de sortie des tâches Batch et des travaux dans le stockage Azure ou d’autres magasins.

Options de conservation de sortie

Il existe plusieurs façons de conserver les données de sortie. Choisissez la meilleure méthode pour votre scénario :

API du service Batch

Vous pouvez utiliser l’API du service Batch pour conserver les données de sortie. Spécifier des fichiers de sortie dans le Stockage Azure pour les données de tâches quand vous ajoutez une tâche à un travail ou ajoutez une collection de tâches à un travail.

Pour en savoir plus, consultez l’article Conserver les données de tâche dans Azure Storage avec l’API de service Batch.

Bibliothèque de conventions de fichier Batch

La norme de convention de fichier Batch définit un ensemble facultatif de conventions pour nommer les fichiers de sortie de tâche dans le Stockage Azure. Cette norme fournit des conventions d’affectation de noms pour le conteneur de destination et le chemin d’accès de l’objet blob d’un fichier, en fonction des noms du travail et de la tâche.

L’utilisation du standard de conventions de fichiers pour nommer vos fichiers de données de sortie est facultative. Vous pouvez choisir de nommer le conteneur de destination et le chemin d’accès de l’objet blob à la place. Si vos fichiers de sortie de tâches utilisent la norme d’affectation de noms de fichiers Batch, vous pouvez afficher les fichiers de sortie dans le portail Azure.

Si vous créez une solution Batch avec C# et .NET, vous pouvez utiliser la bibliothèque de conventions de fichier de commandes pour .NET. La bibliothèque déplace les fichiers de sortie vers le stockage Azure et nomme les conteneurs et les objets blob de destination conformément à la norme d’affectation de noms de fichiers Batch.

Pour plus d’informations, consultez Conserver le résultat d’un travail et d’une tâche dans Azure Storage avec la bibliothèque File Conventions pour .NET.

Conventions standard de nommage des fichiers Batch

Si vous utilisez un autre langage que .NET, vous pouvez implémenter la norme d’affectation de noms de fichiers Batch dans votre propre application. Suivez cette approche dans les cas suivants :

  • Vous souhaitez utiliser un schéma d’affectation de noms commun.
  • Vous voulez consulter la sortie des tâches dans le portail Azure.

Solution de déplacement de fichiers personnalisée

Vous pouvez aussi implémenter votre propre solution de déplacement de fichiers complète. Suivez cette approche dans les cas suivants :

  • Vous voulez conserver les données des tâches dans un magasin de données différent du Stockage Azure. Par exemple, vous souhaitez charger des fichiers dans un magasin de données comme Azure SQL ou Azure DataLake. Créez un script ou un exécutable personnalisé à charger à cet emplacement. Ensuite, appelez le script personnalisé ou l’exécutable dans la ligne de commande après avoir exécuté votre exécutable principal. Par exemple, sur un nœud Windows, appelez doMyWork.exe && uploadMyFilesToSql.exe.
  • Vous souhaitez effectuer des points de contrôle ou un chargement anticipé des résultats initiaux.
  • Vous voulez conserver un contrôle précis de la gestion des erreurs. Par exemple, vous pouvez souhaiter utiliser des actions de dépendance de tâches pour effectuer certaines actions de chargement en fonction de codes de sortie de tâche spécifiques.

Remarques relatives à la conception

Lorsque vous concevez votre solution Batch, tenez compte des facteurs suivants.

Les nœuds de calcul sont souvent transitoires, en particulier dans les pools Batch avec la mise à l’échelle automatique activée. Vous pouvez uniquement voir la sortie d’une tâche :

  • Lorsque le nœud sur lequel la tâche s’exécute existe.
  • Pendant la période de rétention de fichier que vous avez définie pour la tâche.

Lorsque vous affichez une tâche Batch dans le portail Azure et que vous sélectionnez Fichiers sur le nœud, tous les fichiers de cette tâche s’affichent, et pas seulement les fichiers de sortie. Pour récupérer la sortie d’une tâche directement à partir d’un nœud de calcul dans votre pool, vous avez besoin du nom de fichier et de son emplacement de sortie sur le nœud.

Si vous souhaitez conserver les données de sortie de tâche plus longtemps, configurez la tâche de façon à charger ses fichiers de sortie dans un magasin de données. Il est recommandé d’utiliser le Stockage Azure comme magasin de données. Une intégration permet d’écrire les données de sortie de tâche dans le stockage Azure de l’API du service Batch. Vous pouvez utiliser d’autres options de stockage durable pour conserver vos données. Toutefois, vous devez écrire la logique d’application pour les autres options de stockage vous-même.

Pour voir les données de sortie dans le Stockage Azure, vous pouvez utiliser le portail Azure ou une application cliente du Stockage Azure telle que l’Explorateur Stockage Azure. Notez l’emplacement de votre fichier de sortie et accédez directement à cet emplacement.

Étape suivante