Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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. As tarefas escrevem dados de saída para o sistema de ficheiros de um nó de processamento em lote, mas todos os dados no nó são perdidos quando é reimaginado ou quando o nó sai do 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.
Alguns exemplos comuns de saída de tarefas incluem:
- Ficheiros criados quando a tarefa processa dados de entrada.
- Ficheiros de registo associados à execução de tarefas.
Este artigo descreve várias opções para dados de saída persistentes. Pode persistir dados de saída de tarefas e trabalhos do Batch para o Azure Storage ou outras lojas.
Opções para persistir resultados
Existem várias formas de persistir dados de saída. Escolha o melhor método para o seu cenário:
- Utilize o API do serviço Batch.
- Utilize a biblioteca de Convenções de Ficheiros Batch para .NET.
- Use a biblioteca Batch File Conventions para aplicações C# e .NET.
- Use o padrão Batch File Conventions para linguagens que não sejam .NET.
- Utilize uma solução personalizada para movimentação de arquivos.
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.
Para obter mais informações, consulte persistir dados de tarefas no Armazenamento do Azure com a API do Batch service.
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. A norma fornece convenções de nomenclatura para o contentor de destino e o caminho do blob de um ficheiro, baseadas nos nomes do trabalho e da tarefa.
É opcional usar o padrão de Convenções de Ficheiros para nomear os seus ficheiros de dados de saída. Pode escolher nomear o contentor de destino e o caminho do blob em vez disso. Se utilizar a norma File Conventions, poderá visualizar os seus ficheiros de saída no portal do Azure.
Se estiveres a construir uma solução Batch com C# e .NET, podes usar a biblioteca Batch File Conventions para .NET. A biblioteca move ficheiros de saída para o Azure Storage e nomeia contentores e blobs de destino de acordo com o padrão Batch File Conventions.
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:
- Deves usar um esquema de nomes comum.
- Deseja ver a saída da tarefa no portal do Azure.
Solução personalizada de movimentação de ficheiros
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. Crie um script ou executável personalizado para carregar nesse local. 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. - Deves fazer checkpointing ou carregamento antecipado dos resultados iniciais.
- Pretende manter um controlo granular sobre a manipulação de erros. Por exemplo, queres usar ações de dependência de tarefas para realizar certas ações de upload baseadas em códigos de saída específicos de tarefas.
Considerações de design
Ao conceber a sua solução Batch, considere os seguintes fatores.
Os nós de computação são frequentemente transitórios, especialmente em pools Batch com autoscaling ativado. 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. Anote a localização do ficheiro de saída e vá diretamente para essa localização.