Rendere persistente l'output di processi e attività

Un'attività in esecuzione in Azure Batch può produrre dati di output quando viene eseguita. I dati di output delle attività spesso devono essere archiviati per consentirne il recupero da parte di altre attività del processo, dell'applicazione client che ha eseguito il processo o di entrambe. Le attività scrivono i dati di output nel file system di un nodo di calcolo di Batch, ma tutti i dati presenti nel nodo vanno persi quando ne viene ricreata l'immagine o quando il nodo lascia il pool. Le attività possono anche avere un periodo di memorizzazione dei file, dopo il quale i file creati dall'attività vengono eliminati. Per questi motivi, è importante salvare in modo permanente l'output delle attività che sarà necessario in seguito in un archivio dati, ad esempio Archiviazione di Azure.

Per le opzioni dell'account di archiviazione in Batch, vedere Account Batch e account di Archiviazione di Azure.

Alcuni esempi comuni di output delle attività includono:

  • File creati mentre l'attività elabora i dati di input.
  • File di log associati all'esecuzione dell'attività.

Questo articolo descrive varie opzioni per rendere persistenti i dati di output. È possibile rendere persistenti i dati di output da attività e processi Batch ad Archiviazione di Azure o altri archivi.

Opzioni per la persistenza dell'output

Esistono diversi modi per rendere persistenti i dati di output. Scegliere il metodo migliore per lo scenario:

API del servizio Batch

È possibile usare l'API del servizio Batch per rendere persistenti i dati di output. Specificare i file di output in Archiviazione di Azure per i dati attività quando si aggiunge un'attività a un processo o si aggiunge una raccolta di attività a un processo.

Per altre informazioni, vedere Rendere persistenti i dati di attività in Archiviazione di Azure con l'API del servizio Batch.

Libreria Di convenzioni file batch

Lo standard Batch File Conventions è un set facoltativo di convenzioni per la denominazione dei file di output attività in Archiviazione di Azure. Lo standard fornisce convenzioni di denominazione per il contenitore di destinazione e il percorso BLOB di un file, in base ai nomi del processo e dell'attività.

È facoltativo usare lo standard File Conventions per la denominazione dei file di dati di output. È invece possibile scegliere di assegnare un nome al contenitore di destinazione e al percorso BLOB. Se si usa lo standard File Conventions, è possibile visualizzare i file di output nell'portale di Azure.

Se si sta creando una soluzione Batch con C# e .NET, è possibile usare la libreria Di convenzioni file batch per .NET. La libreria sposta i file di output in Archiviazione di Azure e nomi contenitori e BLOB di destinazione in base allo standard Batch File Conventions.

Per altre informazioni, vedere Rendere persistenti i dati di processo e attività in Archiviazione di Azure con la libreria Convenzioni file batch per .NET.

Convenzioni file batch standard

Se si usa un linguaggio diverso da .NET, è possibile implementare lo standard Batch File Conventions nella propria applicazione. Usare questo approccio nei casi seguenti:

  • Si vuole usare uno schema di denominazione comune.
  • Si vuole visualizzare l'output dell'attività nella portale di Azure.

Soluzione di spostamento dei file personalizzata

È anche possibile implementare una soluzione completa propria per lo spostamento dei file. Usare questo approccio nei casi seguenti:

  • Si vogliono rendere persistenti i dati delle attività in un archivio dati diverso da Archiviazione di Azure. Ad esempio, si desidera caricare file in un archivio dati, ad esempio Azure SQL o Azure DataLake. Creare uno script o un eseguibile personalizzato per il caricamento in tale posizione. Chiamare quindi lo script o il file eseguibile personalizzato nella riga di comando dopo aver eseguito il file eseguibile primario. Ad esempio, in un nodo Windows chiamare doMyWork.exe && uploadMyFilesToSql.exe.
  • Si vuole eseguire il checkpoint o il caricamento anticipato dei risultati iniziali.
  • Si vuole mantenere un controllo granulare sulla gestione degli errori. Ad esempio, si desidera usare le azioni di dipendenza dell'attività per eseguire determinate azioni di caricamento in base a codici di uscita attività specifici.

Considerazioni relative alla progettazione

Quando si progetta la soluzione Batch, prendere in considerazione i fattori seguenti.

I nodi di calcolo sono spesso temporanei, soprattutto nei pool batch con scalabilità automatica abilitata. È possibile visualizzare l'output solo da un'attività:

  • Mentre esiste il nodo in cui è in esecuzione l'attività.
  • Durante il periodo di conservazione dei file impostato per l'attività.

Quando si visualizza un'attività Batch nella portale di Azure e si seleziona File nel nodo, vengono visualizzati tutti i file per tale attività, non solo i file di output. Per recuperare l'output dell'attività direttamente dai nodi di calcolo nel pool, è necessario il nome del file e il relativo percorso di output nel nodo.

Se si desidera mantenere i dati di output delle attività più a lungo, configurare l'attività per caricare i file di output in un archivio dati. È consigliabile usare archiviazione di Azure come archivio dati. È disponibile l'integrazione per scrivere dati di output attività in Archiviazione di Azure nell'API del servizio Batch. È possibile usare altre opzioni di archiviazione durevoli per mantenere i dati. Tuttavia, è necessario scrivere la logica dell'applicazione per altre opzioni di archiviazione.

Per visualizzare i dati di output in Archiviazione di Azure, usare l'portale di Azure o un'applicazione client di Archiviazione di Azure, ad esempio Azure Storage Explorer. Prendere nota del percorso del file di output e passare direttamente a tale posizione.

Passaggio successivo