Partilhar via


Persist job and task output

Uma tarefa em execução no Lote do Azure pode produzir dados de saída quando é executada. Os dados de saída da tarefa geralmente precisam ser armazenados para recuperação por outras tarefas no trabalho, no aplicativo cliente que executou o trabalho ou em ambos. Tasks write output data to the file system of a Batch compute node, but all data on the node is lost when it is reimaged or when the node leaves the pool. As tarefas também podem ter um período de retenção de arquivos, após o qual os arquivos criados pela tarefa são excluídos. Por esses motivos, é importante manter a saída das tarefas de que necessitarás mais tarde num armazenamento de dados, como o Armazenamento do Azure.

Para obter opções de conta de armazenamento em lote, consulte Contas em lote e Contas de armazenamento do Azure.

Some common examples of task output include:

  • Ficheiros criados quando a tarefa processa dados de entrada.
  • Log files associated with task execution.

This article describes various options for persisting output data. Pode persistir dados de saída de tarefas e trabalhos do Batch para o Azure Storage ou outras lojas.

Opções para persistir resultados

There are multiple ways to persist output data. Escolha o melhor método para o seu cenário:

API de serviço em lote

Pode utilizar a API do serviço Batch para persistir dados de saída. Especifique os ficheiros de saída no Azure Storage para os dados da tarefa quando adicionar uma tarefa a um trabalho ou adicionar uma coleção de tarefas a um trabalho.

For more information, see Persist task data to Azure Storage with the Batch service API.

Biblioteca de Convenções de Ficheiros de Lote

A norma das Convenções de Ficheiros por Lote é um conjunto opcional de normas para nomear ficheiros de saída de tarefas no Armazenamento Azure. The standard provides naming conventions for a file's destination container and blob path, based on the names of the job and task.

É opcional usar o padrão de Convenções de Ficheiros para nomear os seus ficheiros de dados de saída. You can choose to name the destination container and blob path instead. Se utilizar a norma File Conventions, poderá visualizar os seus ficheiros de saída no portal do Azure.

If you're building a Batch solution with C# and .NET, you can use the Batch File Conventions library for .NET. The library moves output files to Azure Storage, and names destination containers and blobs according to the Batch File Conventions standard.

Para mais informações, consulte Persistir dados de trabalhos e tarefas no Azure Storage com a biblioteca Batch File Conventions para .NET.

Padrões de Convenções de Ficheiros Batch

Se estiver a usar uma linguagem diferente de .NET, pode implementar o padrão Batch File Conventions na sua própria aplicação. Use esta abordagem quando:

  • You want to use a common naming scheme.
  • Deseja ver a saída da tarefa no portal do Azure.

Custom file movement solution

Pode também implementar a sua própria solução completa de movimentação de ficheiros. Use esta abordagem quando:

  • Pretende persistir os dados da tarefa numa loja de dados diferente do Azure Storage. Por exemplo, deseja carregar ficheiros para uma loja de dados como o Azure SQL ou o Azure DataLake. Create a custom script or executable to upload to that location. Depois, chame o script ou executável personalizado na linha de comandos após executar o seu executável principal. Por exemplo, num nó do Windows, chame doMyWork.exe && uploadMyFilesToSql.exe.
  • You want to do checkpointing or early uploading of initial results.
  • Pretende manter um controlo granular sobre a manipulação de erros. For example, you want to use task dependency actions to take certain upload actions based on specific task exit codes.

Considerações de design

Ao conceber a sua solução Batch, considere os seguintes fatores.

Compute nodes are often transient, especially in Batch pools with autoscaling enabled. Só podes ver a saída de uma tarefa.

  • Enquanto o nó onde a tarefa está a ser executada existir.
  • Durante o período de retenção de ficheiros que definir para a tarefa.

Ao visualizar uma tarefa de lote no portal do Azure e selecionar Ficheiros no nó, verá todos os ficheiros dessa tarefa, não apenas os ficheiros de saída. Para recuperar a saída da tarefa diretamente dos nós de computação no seu pool, é necessário o nome do ficheiro e a sua localização de saída no nó.

Se quiser manter os dados de saída da tarefa por mais tempo, configure a tarefa para carregar os seus ficheiros de saída para um repositório de dados. É recomendado utilizar o armazenamento Azure como repositório de dados. Existe uma integração para escrever dados de saída de tarefas no Azure Storage na API do serviço Batch. Pode usar outras opções de armazenamento durável para guardar os seus dados. No entanto, é necessário escrever a lógica da aplicação para outras opções de armazenamento por conta própria.

Para ver os seus dados de saída no Azure Storage, utilize o Azure portal ou uma aplicação cliente do Azure Storage, como o Azure Storage Explorer. Note your output file's location, and go to that location directly.

Próximo passo