2017-05-25 2 views
0

Dites que plusieurs tâches similaires sont exécutées en parallèle dans le pool de machines virtuelles Azure Batch. Ces tâches se connectent à la base de données SQL et extraient des données pour une table individuelle à l'aide de sqlcmd. Ensuite, la sortie de la table est compressée en la redirigeant vers 7zip.exe. Donc, la ligne de commande est similaire à (attention à ceux "")Sortie de tâche Azure Batch persistante vers le stockage Azure

cmd/c sqlcmd -i. \ Table.sql -S. -E -s "," -I -h -1 -W | "c: \ Program Files \ 7-Zip \ 7z.exe" a -tbzip2 -si "out.csv.bz2"

La capture ici est que normalement les données sont sauvegardées dans chaque stockage local des VM comme out.csv. fichier bz2. Cependant, sous Azure Batch, une fois les tâches terminées, les machines virtuelles attribuées à partir du pool ont disparu. Donc, j'ai besoin d'un mécanisme pour collecter tous ces fichiers out.csv.bz2 sur le compte de stockage Azure (par exemple Azure Blob Storage ou Data Lake Storage). Je ne trouve pas de mécanisme dans Azure Batch pour rediriger/conserver la sortie au lieu du stockage des machines virtuelles directement dans Azure Storage pour mes tâches de ligne de commande.

Est-ce que quelqu'un sait comment accomplir cela?

Répondre

0

Si vous utilisez un pool VirtualMachineConfiguration, vous pouvez utiliser OutputFile pour le télécharger vers Azure Storage Blobs. Cette fonctionnalité n'est pas encore disponible dans les pools CloudServiceConfiguration.

Pour les pools CloudServiceConfiguration, voir this related question.