Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una tarea que se ejecuta en Azure Batch puede generar datos de salida cuando se ejecuta. Los datos de salida de tareas a menudo deben almacenarse para su recuperación por otras tareas del trabajo, la aplicación cliente que ejecutó el trabajo o ambos. Las tareas escriben datos de salida en el sistema de archivos de un nodo de proceso de Batch, pero todos los datos del nodo se pierden al restablecer su imagen inicial o cuando el nodo abandona el grupo. Las tareas también pueden tener un período de retención de archivos, después del cual se eliminan los archivos creados por la tarea. Por estas razones, es importante conservar la salida de la tarea que necesitará más adelante en un almacén de datos, como Azure Storage.
Para ver las opciones de la cuenta de almacenamiento en Batch, consulte Cuentas de Batch y Cuentas de Azure Storage.
Algunos ejemplos comunes de resultados de tareas incluyen:
- Archivos creados cuando la tarea procesa los datos de entrada.
- Archivos de registro asociados a la ejecución de tareas.
En este artículo se describen varias opciones para conservar los datos de salida. Puede conservar los datos de salida de tareas y trabajos de Batch en Azure Storage u otros almacenes.
Opciones para almacenar la salida
Hay varias maneras de conservar los datos de salida. Elija el mejor método para su escenario:
- Use la API del servicio Batch.
- Usar la biblioteca de Batch File Conventions para .NET.
- Usa la biblioteca de Convenciones de Archivos por Lotes para aplicaciones de C# y .NET.
- Use el estándar de convenciones de archivo por lotes para lenguajes distintos de .NET.
- Use una solución de movimiento de archivos personalizada.
API del servicio Batch
Puede usar la API del servicio Batch para conservar los datos de salida. Especifique los archivos de salida en Azure Storage para los datos de tareas al agregar una tarea a un trabajo o agregar una colección de tareas a un trabajo.
Para más información, consulte Almacenamiento de datos de tareas en Azure Storage con la API del servicio Batch.
Biblioteca de convenciones de archivos Batch
El estándar Batch File Conventions es un conjunto opcional de convenciones para asignar nombres a archivos de salida de tareas en Azure Storage. El estándar proporciona convenciones de nomenclatura para el contenedor de destino de un archivo y la ruta de acceso del blob, en función de los nombres del trabajo y la tarea.
Es opcional usar el estándar De convenciones de archivo para asignar un nombre a los archivos de datos de salida. En su lugar, puede elegir asignar un nombre al contenedor de destino y a la ruta de acceso del blob. Si utiliza el estándar de convenciones de archivos, puede ver los archivos de salida en el Azure portal.
Si va a compilar una solución de Batch con C# y .NET, puede usar la biblioteca de convenciones de archivos de Batch para .NET. La biblioteca mueve los archivos de salida a Azure Storage y asigna nombres a contenedores y blobs de destino según el estándar Batch File Conventions.
Para obtener más información, consulte Almacenar datos de trabajos y tareas en Azure Storage con la biblioteca Batch File Conventions para .NET.
Estándar de convenciones de archivo por lotes
Si usa un lenguaje distinto de .NET, puede implementar el estándar Batch File Conventions en su propia aplicación. Use este enfoque cuando:
- Usted quiere usar un esquema de nomenclatura común.
- Quiere ver la salida de tarea en Azure Portal.
Solución de movimiento de archivos personalizado
También puede implementar su propia solución completa de movimiento de archivos. Use este enfoque cuando:
- Quiere conservar los datos de tareas en un almacén de datos distinto de Azure Storage. Por ejemplo, quiere cargar archivos en un almacén de datos como Azure SQL o Azure DataLake. Cree un script personalizado o un archivo ejecutable para cargarlos en esa ubicación. A continuación, llame al script personalizado o ejecutable en la línea de comandos después de ejecutar el ejecutable principal. Por ejemplo, en un nodo de Windows, llame a
doMyWork.exe && uploadMyFilesToSql.exe. - Quiere realizar puntos de control o la carga anticipada de los resultados iniciales.
- Quiere mantener un control granular sobre el control de errores. Por ejemplo, quiere usar acciones de dependencia de la tarea para ejecutar ciertas acciones de carga basadas en códigos de salida de la tarea específicos.
Consideraciones de diseño
Al diseñar la solución de Batch, tenga en cuenta los siguientes factores.
Los nodos de proceso suelen ser transitorios, especialmente en grupos de Batch con el escalado automático habilitado. Solo puede ver la salida de una tarea:
- Mientras exista el nodo donde se ejecuta la tarea.
- Durante el período de retención de archivos que estableció para la tarea.
Al ver una tarea de Batch en Azure Portal y seleccionar Archivos en el nodo, verá todos los archivos de esa tarea, no solo los archivos de salida. Para recuperar la salida de la tarea directamente desde los nodos de ejecución de su grupo, necesita el nombre del archivo y la ubicación de su salida en el nodo.
Si desea mantener los datos de salida de la tarea más tiempo, configure la tarea para cargar sus archivos de salida en un almacén de datos. Se recomienda usar Azure Storage como almacén de datos. Hay integración para almacenar los datos de salida de las tareas en Azure Storage en la API del servicio Batch. Puede usar otras opciones de almacenamiento duradero para mantener los datos. Sin embargo, debe escribir la lógica de la aplicación para otras opciones de almacenamiento usted mismo.
Para ver los datos de salida en Azure Storage, use Azure Portal o una aplicación cliente de Azure Storage, como el Explorador de Azure Storage. Anote la ubicación del archivo de salida y vaya directamente a esa ubicación.