Compartir a través de


Task - Add

Agrega una tarea al trabajo especificado.
La duración máxima de una tarea a partir de la finalización es de 180 días. Si el servicio Batch no ha completado una tarea en un plazo de 180 días después de agregarla, el servicio Batch finalizará y se dejará en cualquier estado en el que estuviera en ese momento.

POST {batchUrl}/jobs/{jobId}/tasks?api-version=2024-07-01.20.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2024-07-01.20.0

Parámetros de identificador URI

Nombre En Requerido Tipo Description
batchUrl
path True

string

Dirección URL base de todas las solicitudes de servicio de Azure Batch.

jobId
path True

string

Identificador del trabajo al que se va a agregar la tarea.

api-version
query True

string

Versión de la API de cliente.

timeout
query

integer

int32

Tiempo máximo que el servidor puede dedicar a procesar la solicitud, en segundos. El valor predeterminado es 30 segundos. Si el valor es mayor que 30, se usará el valor predeterminado en su lugar.

Encabezado de la solicitud

Media Types: "application/json; odata=minimalmetadata"

Nombre Requerido Tipo Description
client-request-id

string

uuid

La identidad de solicitud generada por el autor de la llamada, en forma de GUID sin decoración como llaves, por ejemplo, 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.

return-client-request-id

boolean

Si el servidor debe devolver el client-request-id en la respuesta.

ocp-date

string

date-time-rfc1123

Hora en que se emitió la solicitud. Las bibliotecas cliente suelen establecer esto en la hora del reloj del sistema actual; establézcalo explícitamente si llama directamente a la API REST.

Cuerpo de la solicitud

Media Types: "application/json; odata=minimalmetadata"

Nombre Requerido Tipo Description
commandLine True

string

Línea de comandos de la tarea.
Para las tareas de varias instancias, la línea de comandos se ejecuta como tarea principal, después de que la tarea principal y todas las subtareas hayan terminado de ejecutar la línea de comandos de coordinación. La línea de comandos no se ejecuta en un shell y, por tanto, no puede aprovechar las características del shell, como la expansión de variables de entorno. Si desea aprovechar estas características, debe invocar el shell en la línea de comandos, por ejemplo, con "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Si la línea de comandos hace referencia a rutas de acceso de archivo, debe usar una ruta de acceso relativa (relativa al directorio de trabajo de la tarea) o usar la variable de entorno proporcionada por Batch (https://docs.microsoft.com/azure/batch/batch-compute-node-environment-variables).

id True

string

Cadena que identifica de forma única la tarea dentro del trabajo.
El identificador puede contener cualquier combinación de caracteres alfanuméricos, incluidos guiones y caracteres de subrayado, y no puede contener más de 64 caracteres. El identificador se conserva entre mayúsculas y minúsculas y no distingue mayúsculas de minúsculas (es decir, es posible que no tenga dos identificadores dentro de un trabajo que solo se diferencian por mayúsculas y minúsculas).

affinityInfo

AffinityInformation

Sugerencia de localidad que puede usar el servicio Batch para seleccionar un nodo de proceso en el que iniciar la nueva tarea.

applicationPackageReferences

ApplicationPackageReference[]

Lista de paquetes que el servicio Batch implementará en el nodo de proceso antes de ejecutar la línea de comandos.
Los paquetes de aplicación se descargan e implementan en un directorio compartido, no en el directorio de trabajo de la tarea. Por lo tanto, si un paquete al que se hace referencia ya está en el nodo y está actualizado, no se vuelve a descargar; se usa la copia existente en el nodo de proceso. Si no se puede instalar un paquete al que se hace referencia, por ejemplo porque el paquete se ha eliminado o porque se produjo un error de descarga, se produce un error en la tarea.

authenticationTokenSettings

AuthenticationTokenSettings

La configuración de un token de autenticación que la tarea puede usar para realizar operaciones del servicio Batch.
Si se establece esta propiedad, el servicio Batch proporciona a la tarea un token de autenticación que se puede usar para autenticar las operaciones del servicio Batch sin necesidad de una clave de acceso de la cuenta. El token se proporciona a través de la variable de entorno AZ_BATCH_AUTHENTICATION_TOKEN. Las operaciones que la tarea puede llevar a cabo mediante el token dependen de la configuración. Por ejemplo, una tarea puede solicitar permisos de trabajo para agregar otras tareas al trabajo o comprobar el estado del trabajo o de otras tareas en el trabajo.

constraints

TaskConstraints

Restricciones de ejecución que se aplican a esta tarea.
Si no especifica restricciones, maxTaskRetryCount es el valor maxTaskRetryCount especificado para job, maxWallClockTime es infinito y retentionTime es de 7 días.

containerSettings

TaskContainerSettings

Configuración del contenedor en el que se ejecuta la tarea.
Si el grupo que ejecutará esta tarea tiene el conjunto containerConfiguration, también debe establecerse. Si el grupo que ejecutará esta tarea no tiene establecido containerConfiguration, no se debe establecer. Cuando se especifica esto, todos los directorios se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el nodo) en el contenedor, todas las variables de entorno task se asignan al contenedor y la línea de comandos task se ejecuta en el contenedor. Es posible que los archivos generados en el contenedor fuera de AZ_BATCH_NODE_ROOT_DIR no se reflejen en el disco host, lo que significa que las API de archivos de Batch no podrán acceder a esos archivos.

dependsOn

TaskDependencies

Las tareas de las que depende esta tarea.
Esta tarea no se programará hasta que todas las tareas de las que dependa se hayan completado correctamente. Si alguna de esas tareas produce un error y agota sus recuentos de reintentos, esta tarea nunca se programará. Si el trabajo no tiene usesTaskDependencies establecido en true y este elemento está presente, se produce un error en la solicitud con el código de error TaskDependenciesNotSpecifiedOnJob.

displayName

string

Nombre para mostrar de la tarea.
El nombre para mostrar no debe ser único y puede contener caracteres Unicode de hasta una longitud máxima de 1024.

environmentSettings

EnvironmentSetting[]

Lista de opciones de configuración de variables de entorno para la tarea.

exitConditions

ExitConditions

Especifica cómo debe responder el servicio Batch cuando se complete la tarea.
Cómo debe responder el servicio Batch cuando se complete la tarea.

multiInstanceSettings

MultiInstanceSettings

Objeto que indica que la tarea es una tarea de varias instancias y contiene información sobre cómo ejecutar la tarea de varias instancias.
Las tareas de varias instancias se usan normalmente para admitir tareas de MPI. En el caso de MPI, si se produce un error en alguna de las subtareas (por ejemplo, debido a la salida con un código de salida distinto de cero), se produce un error en toda la tarea de varias instancias. A continuación, la tarea de varias instancias finaliza y se reintenta, hasta su límite de reintento.

outputFiles

OutputFile[]

Lista de archivos que el servicio Batch cargará desde el nodo de proceso después de ejecutar la línea de comandos.
En el caso de las tareas de varias instancias, los archivos solo se cargarán desde el nodo de proceso en el que se ejecuta la tarea principal.

requiredSlots

integer

Número de ranuras de programación que la tarea necesita para ejecutarse.
El valor predeterminado es 1. Una tarea solo se puede programar para ejecutarse en un nodo de proceso si el nodo tiene suficientes ranuras de programación libres disponibles. Para las tareas de varias instancias, debe ser 1.

resourceFiles

ResourceFile[]

Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos.
En el caso de las tareas de varias instancias, los archivos de recursos solo se descargarán en el nodo de proceso en el que se ejecuta la tarea principal. Hay un tamaño máximo para la lista de archivos de recursos. Cuando se supera el tamaño máximo, se producirá un error en la solicitud y el código de error de respuesta será RequestEntityTooLarge. Si esto ocurre, la colección de ResourceFiles debe reducirse en tamaño. Esto se puede lograr mediante archivos de .zip, paquetes de aplicación o contenedores de Docker.

userIdentity

UserIdentity

Identidad de usuario en la que se ejecuta la tarea.
Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea.

Respuestas

Nombre Tipo Description
201 Created

La solicitud al servicio Batch se realizó correctamente.

Encabezados

  • client-request-id: string
  • request-id: string
  • ETag: string
  • Last-Modified: string
  • DataServiceId: string
Other Status Codes

BatchError

Error del servicio Batch.

Seguridad

azure_auth

Flujo de código de autenticación de Microsoft Entra OAuth 2.0

Tipo: oauth2
Flujo: implicit
Dirección URL de autorización: https://login.microsoftonline.com/common/oauth2/authorize

Ámbitos

Nombre Description
user_impersonation Suplantar la cuenta de usuario

Authorization

Tipo: apiKey
En: header

Ejemplos

Add a basic task
Add a container task with container data isolation
Add a container task with container data isolation bad request duplicate sources
Add a task with container settings
Add a task with exit conditions
Add a task with extra slot requirement

Add a basic task

Solicitud de ejemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "task1",
  "commandLine": "cmd /c echo task1"
}

Respuesta de muestra

Add a container task with container data isolation

Solicitud de ejemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Respuesta de muestra

Add a container task with container data isolation bad request duplicate sources

Solicitud de ejemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      },
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Respuesta de muestra

Add a task with container settings

Solicitud de ejemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerRunOptions": "--rm"
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Respuesta de muestra

Add a task with exit conditions

Solicitud de ejemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "taskId",
  "commandLine": "cmd /c exit 3",
  "exitConditions": {
    "exitCodeRanges": [
      {
        "start": 2,
        "end": 4,
        "exitOptions": {
          "jobAction": "terminate"
        }
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Respuesta de muestra

Add a task with extra slot requirement

Solicitud de ejemplo

POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0



{
  "id": "task1",
  "requiredSlots": 2,
  "commandLine": "cmd /c echo task1"
}

Respuesta de muestra

Definiciones

Nombre Description
AccessScope

Recursos de Batch a los que el token concede acceso.

AffinityInformation

Sugerencia de localidad que puede usar el servicio Batch para seleccionar un nodo de proceso en el que iniciar una tarea.

ApplicationPackageReference

Referencia a un paquete que se va a implementar en nodos de proceso.

AuthenticationTokenSettings

La configuración de un token de autenticación que la tarea puede usar para realizar operaciones del servicio Batch.

AutoUserScope

Ámbito del usuario automático

AutoUserSpecification

Especifica los parámetros del usuario automático que ejecuta una tarea en el servicio Batch.

BatchError

Respuesta de error recibida del servicio Azure Batch.

BatchErrorDetail

Un elemento de información adicional incluida en una respuesta de error de Azure Batch.

ComputeNodeIdentityReference

Referencia a una identidad asignada por el usuario asociada al grupo de Batch que usará un nodo de proceso.

ContainerHostBatchBindMountEntry

La entrada de la ruta de acceso y el modo de montaje que desea montar en el contenedor de tareas.

ContainerHostDataPath

Rutas de acceso que se montarán en el contenedor de la tarea de contenedor.

ContainerRegistry

Un registro de contenedor privado.

ContainerWorkingDirectory

Ubicación del directorio de trabajo de la tarea de contenedor.

DependencyAction

Acción que el servicio Batch realiza en Tareas que dependen de esta tarea.

ElevationLevel

Nivel de elevación del usuario.

EnvironmentSetting

Variable de entorno que se va a establecer en un proceso de tarea.

ErrorMessage

Mensaje de error recibido en una respuesta de error de Azure Batch.

ExitCodeMapping

Cómo debe responder el servicio Batch si una tarea sale con un código de salida determinado.

ExitCodeRangeMapping

Un intervalo de códigos de salida y cómo el servicio Batch debe responder a los códigos de salida dentro de ese intervalo.

ExitConditions

Especifica cómo debe responder el servicio Batch cuando se complete la tarea.

ExitOptions

Especifica cómo responde el servicio Batch a una condición de salida determinada.

HttpHeader

Un par nombre-valor de encabezado HTTP

JobAction

Una acción que se realizará en el trabajo que contiene la tarea, si la tarea se completa con la condición de salida especificada y la propiedad onTaskFailed del trabajo es "performExitOptionsJobAction".

MultiInstanceSettings

Configuración que especifica cómo ejecutar una tarea de varias instancias.

OutputFile

Especificación para cargar archivos desde un nodo de proceso de Azure Batch a otra ubicación después de que el servicio Batch haya terminado de ejecutar el proceso de tarea.

OutputFileBlobContainerDestination

Especifica un destino de carga de archivos dentro de un contenedor de Azure Blob Storage.

OutputFileDestination

Destino al que se debe cargar un archivo.

OutputFileUploadCondition

Condiciones en las que se debe cargar un archivo de salida de tarea o un conjunto de archivos.

OutputFileUploadOptions

Detalles sobre una operación de carga de archivos de salida, incluidas las condiciones para realizar la carga.

ResourceFile

Un único archivo o varios archivos que se van a descargar en un nodo de proceso.

TaskAddParameter

Tarea de Azure Batch que se va a agregar.

TaskConstraints

Restricciones de ejecución que se aplicarán a una tarea.

TaskContainerSettings

Configuración del contenedor de una tarea.

TaskDependencies

Especifica las dependencias de una tarea. Cualquier tarea especificada explícitamente o dentro de un intervalo de dependencias debe completarse antes de que se programe la tarea dependiente.

TaskIdRange

Intervalo de identificadores de tarea de los que puede depender una tarea. Todas las tareas con identificadores del intervalo deben completarse correctamente antes de que se pueda programar la tarea dependiente.

UserIdentity

Definición de la identidad de usuario en la que se ejecuta la tarea.

AccessScope

Recursos de Batch a los que el token concede acceso.

Nombre Tipo Description
job

string

Concede acceso para realizar todas las operaciones en el trabajo que contiene la tarea.

AffinityInformation

Sugerencia de localidad que puede usar el servicio Batch para seleccionar un nodo de proceso en el que iniciar una tarea.

Nombre Tipo Description
affinityId

string

Cadena opaca que representa la ubicación de un nodo de proceso o una tarea que se ha ejecutado anteriormente.
Puede pasar el affinityId de un nodo para indicar que esta tarea debe ejecutarse en ese nodo de proceso. Tenga en cuenta que esto es simplemente una afinidad suave. Si el nodo de proceso de destino está ocupado o no está disponible en el momento en que se programa la tarea, la tarea se programará en otro lugar.

ApplicationPackageReference

Referencia a un paquete que se va a implementar en nodos de proceso.

Nombre Tipo Description
applicationId

string

Identificador de la aplicación que se va a implementar.
Al crear un grupo, el identificador de aplicación del paquete debe estar completo (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}).

version

string

Versión de la aplicación que se va a implementar. Si se omite, se implementa la versión predeterminada.
Si se omite en un grupo y no se especifica ninguna versión predeterminada para esta aplicación, se produce un error en la solicitud con el código de error InvalidApplicationPackageReferences y el código de estado HTTP 409. Si se omite en una tarea y no se especifica ninguna versión predeterminada para esta aplicación, la tarea produce un error de preprocesamiento.

AuthenticationTokenSettings

La configuración de un token de autenticación que la tarea puede usar para realizar operaciones del servicio Batch.

Nombre Tipo Description
access

AccessScope[]

Recursos de Batch a los que el token concede acceso.
El token de autenticación concede acceso a un conjunto limitado de operaciones de servicio de Batch. Actualmente, el único valor admitido para la propiedad de acceso es "job", que concede acceso a todas las operaciones relacionadas con el trabajo que contiene la tarea.

AutoUserScope

Ámbito del usuario automático

Nombre Tipo Description
pool

string

Especifica que la tarea se ejecuta como la cuenta de usuario automático común que se crea en cada nodo de proceso de un grupo.

task

string

Especifica que el servicio debe crear un nuevo usuario para la tarea.

AutoUserSpecification

Especifica los parámetros del usuario automático que ejecuta una tarea en el servicio Batch.

Nombre Tipo Description
elevationLevel

ElevationLevel

Nivel de elevación del usuario automático.
El valor predeterminado es nonAdmin.

scope

AutoUserScope

Ámbito del usuario automático
El valor predeterminado es pool. Si el grupo ejecuta Windows, se debe especificar un valor de Task si se requiere un aislamiento más estricto entre las tareas. Por ejemplo, si la tarea muta el registro de una manera que podría afectar a otras tareas, o si se han especificado certificados en el grupo al que no deben acceder las tareas normales, pero deben ser accesibles por StartTasks.

BatchError

Respuesta de error recibida del servicio Azure Batch.

Nombre Tipo Description
code

string

Identificador del error. Los códigos son invariables y están diseñados para consumirse mediante programación.

message

ErrorMessage

Mensaje que describe el error, diseñado para ser adecuado para mostrarse en una interfaz de usuario.

values

BatchErrorDetail[]

Colección de pares clave-valor que contienen detalles adicionales sobre el error.

BatchErrorDetail

Un elemento de información adicional incluida en una respuesta de error de Azure Batch.

Nombre Tipo Description
key

string

Identificador que especifica el significado de la propiedad Value.

value

string

La información adicional incluida con la respuesta de error.

ComputeNodeIdentityReference

Referencia a una identidad asignada por el usuario asociada al grupo de Batch que usará un nodo de proceso.

Nombre Tipo Description
resourceId

string

Identificador de recurso de ARM de la identidad asignada por el usuario.

ContainerHostBatchBindMountEntry

La entrada de la ruta de acceso y el modo de montaje que desea montar en el contenedor de tareas.

Nombre Tipo Description
isReadOnly

boolean

Monte esta ruta de acceso de origen como modo de solo lectura o no. El valor predeterminado es false (modo de lectura y escritura).
Para Linux, si monta esta ruta de acceso como modo de lectura y escritura, esto no significa que todos los usuarios del contenedor tengan acceso de lectura y escritura para la ruta de acceso, depende del acceso en la máquina virtual host. Si esta ruta de acceso está montada de solo lectura, todos los usuarios del contenedor no podrán modificar la ruta de acceso.

source

ContainerHostDataPath

La ruta de acceso que se va a montar en el cliente contenedor puede seleccionar.

ContainerHostDataPath

Rutas de acceso que se montarán en el contenedor de la tarea de contenedor.

Nombre Tipo Description
Applications

string

Ruta de acceso de las aplicaciones.

JobPrep

string

Ruta de acceso de la tarea de preparación del trabajo.

Shared

string

Ruta de acceso de la tarea de varias instancias para compartir sus archivos.

Startup

string

Ruta de acceso para la tarea de inicio.

Task

string

Ruta de acceso de la tarea.

VfsMounts

string

La ruta de acceso contiene todos los sistemas de archivos virtuales que se montan en este nodo.

ContainerRegistry

Un registro de contenedor privado.

Nombre Tipo Description
identityReference

ComputeNodeIdentityReference

Referencia a la identidad asignada por el usuario que se va a usar para acceder a una instancia de Azure Container Registry en lugar de un nombre de usuario y una contraseña.
Referencia a una identidad asignada por el usuario asociada al grupo de Batch que usará un nodo de proceso.

password

string

Contraseña que se va a iniciar sesión en el servidor del Registro.

registryServer

string

Dirección URL del Registro.
Si se omite, el valor predeterminado es "docker.io".

username

string

Nombre de usuario que se va a iniciar sesión en el servidor del Registro.

ContainerWorkingDirectory

Ubicación del directorio de trabajo de la tarea de contenedor.

Nombre Tipo Description
containerImageDefault

string

Use el directorio de trabajo definido en la imagen del contenedor. Tenga en cuenta que este directorio no contendrá los archivos de recursos descargados por Batch.

taskWorkingDirectory

string

Use el directorio de trabajo de tarea del servicio Batch estándar, que contendrá los archivos de recursos de tarea rellenados por Batch.

DependencyAction

Acción que el servicio Batch realiza en Tareas que dependen de esta tarea.

Nombre Tipo Description
block

string

Bloquea las tareas en espera de esta tarea, lo que impide que se programen.

satisfy

string

Satisfacer las tareas que esperan esta tarea; Una vez que se cumplen todas las dependencias, la tarea se programará para ejecutarse.

ElevationLevel

Nivel de elevación del usuario.

Nombre Tipo Description
admin

string

El usuario es un usuario con acceso elevado y funciona con permisos de administrador completos.

nonadmin

string

El usuario es un usuario estándar sin acceso elevado.

EnvironmentSetting

Variable de entorno que se va a establecer en un proceso de tarea.

Nombre Tipo Description
name

string

Nombre de la variable de entorno.

value

string

Valor de la variable de entorno.

ErrorMessage

Mensaje de error recibido en una respuesta de error de Azure Batch.

Nombre Tipo Description
lang

string

El código de idioma del mensaje de error

value

string

Texto del mensaje.

ExitCodeMapping

Cómo debe responder el servicio Batch si una tarea sale con un código de salida determinado.

Nombre Tipo Description
code

integer

Código de salida de proceso.

exitOptions

ExitOptions

Cómo debe responder el servicio Batch si la tarea sale con este código de salida.

ExitCodeRangeMapping

Un intervalo de códigos de salida y cómo el servicio Batch debe responder a los códigos de salida dentro de ese intervalo.

Nombre Tipo Description
end

integer

Último código de salida del intervalo.

exitOptions

ExitOptions

Cómo debe responder el servicio Batch si la tarea sale con un código de salida en el intervalo de inicio a fin (inclusivo).

start

integer

Primer código de salida del intervalo.

ExitConditions

Especifica cómo debe responder el servicio Batch cuando se complete la tarea.

Nombre Tipo Description
default

ExitOptions

Cómo debe responder el servicio Batch si se produce un error en la tarea con una condición de salida no cubierta por ninguna de las otras propiedades.
Este valor se usa si la tarea sale con cualquier código de salida distinto de cero que no aparezca en la colección exitCodes o exitCodeRanges, con un error de preprocesamiento si la propiedad preProcessingError no está presente o con un error de carga de archivos si la propiedad fileUploadError no está presente. Si desea un comportamiento no predeterminado en el código de salida 0, debe enumerarlo explícitamente mediante la colección exitCodes o exitCodeRanges.

exitCodeRanges

ExitCodeRangeMapping[]

Lista de intervalos de código de salida de tarea y cómo debe responder el servicio Batch.

exitCodes

ExitCodeMapping[]

Lista de códigos de salida de tareas individuales y cómo debe responder el servicio Batch.

fileUploadError

ExitOptions

Cómo debe responder el servicio Batch si se produce un error de carga de archivos.
Si la tarea salió con un código de salida que se especificó a través de exitCodes o exitCodeRanges y, a continuación, encontró un error de carga de archivos, la acción especificada por el código de salida tiene prioridad.

preProcessingError

ExitOptions

Cómo debe responder el servicio Batch si la tarea no se inicia debido a un error.

ExitOptions

Especifica cómo responde el servicio Batch a una condición de salida determinada.

Nombre Tipo Description
dependencyAction

DependencyAction

Acción que el servicio Batch realiza en Tareas que dependen de esta tarea.
Los valores posibles son "satisfacer" (lo que permite que las tareas dependientes avancen) y "bloquear" (las tareas dependientes siguen esperando). Batch aún no admite la cancelación de tareas dependientes.

jobAction

JobAction

Una acción que se realizará en el trabajo que contiene la tarea, si la tarea se completa con la condición de salida especificada y la propiedad onTaskFailed del trabajo es "performExitOptionsJobAction".
El valor predeterminado es ninguno para el código de salida 0 y finalizar para todas las demás condiciones de salida. Si la propiedad onTaskFailed del trabajo es noaction, al especificar esta propiedad se devuelve un error y se produce un error en la solicitud add Task con un error de valor de propiedad no válido; Si llama directamente a la API REST, el código de estado HTTP es 400 (solicitud incorrecta).

HttpHeader

Un par nombre-valor de encabezado HTTP

Nombre Tipo Description
name

string

Nombre que no distingue mayúsculas de minúsculas del encabezado que se va a usar al cargar archivos de salida

value

string

Valor del encabezado que se va a usar al cargar archivos de salida

JobAction

Una acción que se realizará en el trabajo que contiene la tarea, si la tarea se completa con la condición de salida especificada y la propiedad onTaskFailed del trabajo es "performExitOptionsJobAction".

Nombre Tipo Description
disable

string

Deshabilite el trabajo. Esto equivale a llamar a la API disable Job, con un valor disableTasks de requeue.

none

string

No tome ninguna acción.

terminate

string

Finalice el trabajo. TerminateReason en executionInfo del trabajo se establece en "TaskFailed".

MultiInstanceSettings

Configuración que especifica cómo ejecutar una tarea de varias instancias.

Nombre Tipo Description
commonResourceFiles

ResourceFile[]

Lista de archivos que el servicio Batch descargará antes de ejecutar la línea de comandos de coordinación.
La diferencia entre los archivos de recursos comunes y los archivos de recursos de tarea es que los archivos de recursos comunes se descargan para todas las subtareas, incluido el principal, mientras que los archivos de recursos de tarea solo se descargan para la principal. Tenga en cuenta también que estos archivos de recursos no se descargan en el directorio de trabajo de la tarea, sino que se descargan en el directorio raíz de la tarea (un directorio encima del directorio de trabajo). Hay un tamaño máximo para la lista de archivos de recursos. Cuando se supera el tamaño máximo, se producirá un error en la solicitud y el código de error de respuesta será RequestEntityTooLarge. Si esto ocurre, la colección de ResourceFiles debe reducirse en tamaño. Esto se puede lograr mediante archivos de .zip, paquetes de aplicación o contenedores de Docker.

coordinationCommandLine

string

Línea de comandos que se va a ejecutar en todos los nodos de proceso para que puedan coordinarse cuando el principal ejecuta el comando task principal.
Una línea de comandos de coordinación típica inicia un servicio en segundo plano y comprueba que el servicio está listo para procesar mensajes entre nodos.

numberOfInstances

integer

Número de nodos de proceso requeridos por la tarea.
Si se omite, el valor predeterminado es 1.

OutputFile

Especificación para cargar archivos desde un nodo de proceso de Azure Batch a otra ubicación después de que el servicio Batch haya terminado de ejecutar el proceso de tarea.

Nombre Tipo Description
destination

OutputFileDestination

Destino de los archivos de salida.

filePattern

string

Patrón que indica qué archivos se van a cargar.
Se admiten rutas de acceso relativas y absolutas. Las rutas de acceso relativas son relativas al directorio de trabajo de la tarea. Se admiten los siguientes caracteres comodín: * coincide con 0 o más caracteres (por ejemplo, el patrón abc* coincidiría con abc o abcdef), ** coincide con cualquier directorio, ? coincide con cualquier carácter único, [abc] coincide con un carácter entre corchetes y [a-c] coincide con un carácter del intervalo. Los corchetes pueden incluir una negación para que coincida con cualquier carácter no especificado (por ejemplo [!abc] coincide con cualquier carácter, pero a, b o c). Si un nombre de archivo comienza con "." se omite de forma predeterminada, pero puede coincidir especificando explícitamente (por ejemplo, .gif no coincidirá con .a.gif, pero ..gif). Un ejemplo sencillo: ***.txt coincide con cualquier archivo que no se inicie en '.' y termine con .txt en el directorio de trabajo de la tarea o en cualquier subdirectorio. Si el nombre de archivo contiene un carácter comodín, se puede escapar mediante corchetes (por ejemplo, abc[] coincidiría con un archivo denominado abc). Tenga en cuenta que tanto \ como / se tratan como separadores de directorio en Windows, pero solo / está en Linux. Las variables de entorno (%var% en Windows o $var en Linux) se expanden antes de aplicar el patrón.

uploadOptions

OutputFileUploadOptions

Opciones adicionales para la operación de carga, incluidas las condiciones para realizar la carga.

OutputFileBlobContainerDestination

Especifica un destino de carga de archivos dentro de un contenedor de Azure Blob Storage.

Nombre Tipo Description
containerUrl

string

Dirección URL del contenedor dentro de Azure Blob Storage en la que se cargan los archivos.
Si no usa una identidad administrada, la dirección URL debe incluir una firma de acceso compartido (SAS) que conceda permisos de escritura al contenedor.

identityReference

ComputeNodeIdentityReference

Referencia a la identidad asignada por el usuario que se va a usar para acceder a Azure Blob Storage especificado por containerUrl
La identidad debe tener acceso de escritura al contenedor de Azure Blob Storage.

path

string

Blob de destino o directorio virtual dentro del contenedor de Azure Storage.
Si filePattern hace referencia a un archivo específico (es decir, no contiene caracteres comodín), la ruta de acceso es el nombre del blob al que cargar ese archivo. Si filePattern contiene uno o varios caracteres comodín (y, por tanto, pueden coincidir con varios archivos), la ruta de acceso es el nombre del directorio virtual del blob (que se antepone a cada nombre de blob) al que cargar los archivos. Si se omite, los archivos se cargan en la raíz del contenedor con un nombre de blob que coincida con su nombre de archivo.

uploadHeaders

HttpHeader[]

Lista de pares nombre-valor para los encabezados que se usarán en la carga de archivos de salida
Estos encabezados se especificarán al cargar archivos en Azure Storage. Documento oficial sobre encabezados permitidos al cargar blobs: https://docs.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types

OutputFileDestination

Destino al que se debe cargar un archivo.

Nombre Tipo Description
container

OutputFileBlobContainerDestination

Ubicación en Azure Blob Storage en la que se cargan los archivos.

OutputFileUploadCondition

Condiciones en las que se debe cargar un archivo de salida de tarea o un conjunto de archivos.

Nombre Tipo Description
taskcompletion

string

Cargue los archivos después de que se cierre el proceso de tarea, independientemente del código de salida.

taskfailure

string

Cargue los archivos solo después de que el proceso de tarea salga con un código de salida distinto de cero.

tasksuccess

string

Cargue los archivos solo después de que el proceso de tarea salga con un código de salida de 0.

OutputFileUploadOptions

Detalles sobre una operación de carga de archivos de salida, incluidas las condiciones para realizar la carga.

Nombre Tipo Description
uploadCondition

OutputFileUploadCondition

Condiciones en las que se debe cargar el archivo de salida de la tarea o el conjunto de archivos.
El valor predeterminado es taskcompletion.

ResourceFile

Un único archivo o varios archivos que se van a descargar en un nodo de proceso.

Nombre Tipo Description
autoStorageContainerName

string

Nombre del contenedor de almacenamiento en la cuenta de almacenamiento automática.
Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas.

blobPrefix

string

Prefijo de blob que se va a usar al descargar blobs de un contenedor de Azure Storage. Solo se descargarán los blobs cuyos nombres comienzan por el prefijo especificado.
La propiedad solo es válida cuando se usa autoStorageContainerName o storageContainerUrl. Este prefijo puede ser un nombre de archivo parcial o un subdirectorio. Si no se especifica un prefijo, se descargarán todos los archivos del contenedor.

fileMode

string

Atributo del modo de permiso de archivo en formato octal.
Esta propiedad solo se aplica a los archivos que se descargan en nodos de proceso de Linux. Se omitirá si se especifica para un resourceFile que se descargará en un nodo de proceso de Windows. Si no se especifica esta propiedad para un nodo de proceso de Linux, se aplica un valor predeterminado de 0770 al archivo.

filePath

string

Ubicación en el nodo de proceso al que se van a descargar los archivos, en relación con el directorio de trabajo de la tarea.
Si se especifica la propiedad httpUrl, se requiere filePath y describe la ruta de acceso a la que se descargará el archivo, incluido el nombre de archivo. De lo contrario, si se especifica la propiedad autoStorageContainerName o storageContainerUrl, filePath es opcional y es el directorio al que descargar los archivos. En el caso de que filePath se use como directorio, cualquier estructura de directorios que ya esté asociada a los datos de entrada se conservará en su totalidad y se anexará al directorio filePath especificado. La ruta de acceso relativa especificada no puede dividirse en el directorio de trabajo de la tarea (por ejemplo, mediante '..').

httpUrl

string

Dirección URL del archivo que se va a descargar.
Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Si la dirección URL apunta a Azure Blob Storage, debe ser legible desde los nodos de proceso. Hay tres maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura en el blob, use una identidad administrada con permiso de lectura o establezca la ACL para el blob o su contenedor para permitir el acceso público.

identityReference

ComputeNodeIdentityReference

Referencia a la identidad asignada por el usuario que se va a usar para acceder a Azure Blob Storage especificado por storageContainerUrl o httpUrl
Referencia a una identidad asignada por el usuario asociada al grupo de Batch que usará un nodo de proceso.

storageContainerUrl

string

Dirección URL del contenedor de blobs en Azure Blob Storage.
Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Esta dirección URL debe ser legible y enumerable desde los nodos de proceso. Hay tres maneras de obtener esta dirección URL para un contenedor en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura y lista en el contenedor, use una identidad administrada con permisos de lectura y lista, o establezca la ACL para que el contenedor permita el acceso público.

TaskAddParameter

Tarea de Azure Batch que se va a agregar.

Nombre Tipo Description
affinityInfo

AffinityInformation

Sugerencia de localidad que puede usar el servicio Batch para seleccionar un nodo de proceso en el que iniciar la nueva tarea.

applicationPackageReferences

ApplicationPackageReference[]

Lista de paquetes que el servicio Batch implementará en el nodo de proceso antes de ejecutar la línea de comandos.
Los paquetes de aplicación se descargan e implementan en un directorio compartido, no en el directorio de trabajo de la tarea. Por lo tanto, si un paquete al que se hace referencia ya está en el nodo y está actualizado, no se vuelve a descargar; se usa la copia existente en el nodo de proceso. Si no se puede instalar un paquete al que se hace referencia, por ejemplo porque el paquete se ha eliminado o porque se produjo un error de descarga, se produce un error en la tarea.

authenticationTokenSettings

AuthenticationTokenSettings

La configuración de un token de autenticación que la tarea puede usar para realizar operaciones del servicio Batch.
Si se establece esta propiedad, el servicio Batch proporciona a la tarea un token de autenticación que se puede usar para autenticar las operaciones del servicio Batch sin necesidad de una clave de acceso de la cuenta. El token se proporciona a través de la variable de entorno AZ_BATCH_AUTHENTICATION_TOKEN. Las operaciones que la tarea puede llevar a cabo mediante el token dependen de la configuración. Por ejemplo, una tarea puede solicitar permisos de trabajo para agregar otras tareas al trabajo o comprobar el estado del trabajo o de otras tareas en el trabajo.

commandLine

string

Línea de comandos de la tarea.
Para las tareas de varias instancias, la línea de comandos se ejecuta como tarea principal, después de que la tarea principal y todas las subtareas hayan terminado de ejecutar la línea de comandos de coordinación. La línea de comandos no se ejecuta en un shell y, por tanto, no puede aprovechar las características del shell, como la expansión de variables de entorno. Si desea aprovechar estas características, debe invocar el shell en la línea de comandos, por ejemplo, con "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Si la línea de comandos hace referencia a rutas de acceso de archivo, debe usar una ruta de acceso relativa (relativa al directorio de trabajo de la tarea) o usar la variable de entorno proporcionada por Batch (https://docs.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

TaskConstraints

Restricciones de ejecución que se aplican a esta tarea.
Si no especifica restricciones, maxTaskRetryCount es el valor maxTaskRetryCount especificado para job, maxWallClockTime es infinito y retentionTime es de 7 días.

containerSettings

TaskContainerSettings

Configuración del contenedor en el que se ejecuta la tarea.
Si el grupo que ejecutará esta tarea tiene el conjunto containerConfiguration, también debe establecerse. Si el grupo que ejecutará esta tarea no tiene establecido containerConfiguration, no se debe establecer. Cuando se especifica esto, todos los directorios se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el nodo) en el contenedor, todas las variables de entorno task se asignan al contenedor y la línea de comandos task se ejecuta en el contenedor. Es posible que los archivos generados en el contenedor fuera de AZ_BATCH_NODE_ROOT_DIR no se reflejen en el disco host, lo que significa que las API de archivos de Batch no podrán acceder a esos archivos.

dependsOn

TaskDependencies

Las tareas de las que depende esta tarea.
Esta tarea no se programará hasta que todas las tareas de las que dependa se hayan completado correctamente. Si alguna de esas tareas produce un error y agota sus recuentos de reintentos, esta tarea nunca se programará. Si el trabajo no tiene usesTaskDependencies establecido en true y este elemento está presente, se produce un error en la solicitud con el código de error TaskDependenciesNotSpecifiedOnJob.

displayName

string

Nombre para mostrar de la tarea.
El nombre para mostrar no debe ser único y puede contener caracteres Unicode de hasta una longitud máxima de 1024.

environmentSettings

EnvironmentSetting[]

Lista de opciones de configuración de variables de entorno para la tarea.

exitConditions

ExitConditions

Especifica cómo debe responder el servicio Batch cuando se complete la tarea.
Cómo debe responder el servicio Batch cuando se complete la tarea.

id

string

Cadena que identifica de forma única la tarea dentro del trabajo.
El identificador puede contener cualquier combinación de caracteres alfanuméricos, incluidos guiones y caracteres de subrayado, y no puede contener más de 64 caracteres. El identificador se conserva entre mayúsculas y minúsculas y no distingue mayúsculas de minúsculas (es decir, es posible que no tenga dos identificadores dentro de un trabajo que solo se diferencian por mayúsculas y minúsculas).

multiInstanceSettings

MultiInstanceSettings

Objeto que indica que la tarea es una tarea de varias instancias y contiene información sobre cómo ejecutar la tarea de varias instancias.
Las tareas de varias instancias se usan normalmente para admitir tareas de MPI. En el caso de MPI, si se produce un error en alguna de las subtareas (por ejemplo, debido a la salida con un código de salida distinto de cero), se produce un error en toda la tarea de varias instancias. A continuación, la tarea de varias instancias finaliza y se reintenta, hasta su límite de reintento.

outputFiles

OutputFile[]

Lista de archivos que el servicio Batch cargará desde el nodo de proceso después de ejecutar la línea de comandos.
En el caso de las tareas de varias instancias, los archivos solo se cargarán desde el nodo de proceso en el que se ejecuta la tarea principal.

requiredSlots

integer

Número de ranuras de programación que la tarea necesita para ejecutarse.
El valor predeterminado es 1. Una tarea solo se puede programar para ejecutarse en un nodo de proceso si el nodo tiene suficientes ranuras de programación libres disponibles. Para las tareas de varias instancias, debe ser 1.

resourceFiles

ResourceFile[]

Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos.
En el caso de las tareas de varias instancias, los archivos de recursos solo se descargarán en el nodo de proceso en el que se ejecuta la tarea principal. Hay un tamaño máximo para la lista de archivos de recursos. Cuando se supera el tamaño máximo, se producirá un error en la solicitud y el código de error de respuesta será RequestEntityTooLarge. Si esto ocurre, la colección de ResourceFiles debe reducirse en tamaño. Esto se puede lograr mediante archivos de .zip, paquetes de aplicación o contenedores de Docker.

userIdentity

UserIdentity

Identidad de usuario en la que se ejecuta la tarea.
Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea.

TaskConstraints

Restricciones de ejecución que se aplicarán a una tarea.

Nombre Tipo Description
maxTaskRetryCount

integer

Número máximo de veces que se puede reintentar la tarea. El servicio Batch vuelve a intentar una tarea si su código de salida es distinto de cero.
Tenga en cuenta que este valor controla específicamente el número de reintentos para el ejecutable task debido a un código de salida distinto de cero. El servicio Batch probará la tarea una vez y, a continuación, podrá volver a intentarlo hasta este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta la tarea hasta 4 veces (un intento inicial y 3 reintentos). Si el número máximo de reintentos es 0, el servicio Batch no vuelve a intentar la tarea después del primer intento. Si el número máximo de reintentos es -1, el servicio Batch reintenta la tarea sin límite, pero esto no se recomienda para una tarea de inicio ni para ninguna tarea. El valor predeterminado es 0 (sin reintentos).

maxWallClockTime

string

Tiempo máximo transcurrido que se puede ejecutar la tarea, medido desde el momento en que se inicia la tarea. Si la tarea no se completa dentro del límite de tiempo, el servicio Batch lo finaliza.
Si no se especifica, no hay ningún límite de tiempo durante cuánto tiempo se puede ejecutar la tarea.

retentionTime

string

El tiempo mínimo para conservar el directorio Task en el nodo de proceso donde se ejecutó, desde el momento en que completa la ejecución. Después de este tiempo, el servicio Batch puede eliminar el directorio Task y todo su contenido.
El valor predeterminado es 7 días, es decir, el directorio Task se conservará durante 7 días a menos que se quite el nodo de proceso o se elimine el trabajo.

TaskContainerSettings

Configuración del contenedor de una tarea.

Nombre Tipo Description
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

Las rutas de acceso que desea montar en la tarea contenedora.
Si esta matriz es nula o no está presente, la tarea de contenedor montará toda la unidad de disco temporal en windows (o AZ_BATCH_NODE_ROOT_DIR en Linux). No montará ninguna ruta de acceso de datos en el contenedor si esta matriz está establecida como vacía.

containerRunOptions

string

Opciones adicionales para el comando container create.
Estas opciones adicionales se proporcionan como argumentos para el comando "docker create", además de las controladas por el servicio Batch.

imageName

string

Imagen que se va a usar para crear el contenedor en el que se ejecutará la tarea.
Esta es la referencia de imagen completa, como se especificaría en "docker pull". Si no se proporciona ninguna etiqueta como parte del nombre de la imagen, la etiqueta ":latest" se usa como valor predeterminado.

registry

ContainerRegistry

Registro privado que contiene la imagen de contenedor.
Esta configuración se puede omitir si ya se proporcionó en la creación del grupo.

workingDirectory

ContainerWorkingDirectory

Ubicación del directorio de trabajo de la tarea de contenedor.
El valor predeterminado es "taskWorkingDirectory".

TaskDependencies

Especifica las dependencias de una tarea. Cualquier tarea especificada explícitamente o dentro de un intervalo de dependencias debe completarse antes de que se programe la tarea dependiente.

Nombre Tipo Description
taskIdRanges

TaskIdRange[]

Lista de intervalos de id. de tarea de los que depende esta tarea. Todas las tareas de todos los intervalos deben completarse correctamente antes de que se pueda programar la tarea dependiente.

taskIds

string[]

Lista de identificadores de tarea de los que depende esta tarea. Todas las tareas de esta lista deben completarse correctamente antes de que se pueda programar la tarea dependiente.
La colección taskIds está limitada a un total de 64000 caracteres (es decir, la longitud combinada de todos los identificadores de tarea). Si la colección taskIds supera la longitud máxima, se produce un error en la solicitud Agregar tarea con el código de error TaskDependencyListTooLong. En este caso, considere la posibilidad de usar intervalos de identificadores de tarea en su lugar.

TaskIdRange

Intervalo de identificadores de tarea de los que puede depender una tarea. Todas las tareas con identificadores del intervalo deben completarse correctamente antes de que se pueda programar la tarea dependiente.

Nombre Tipo Description
end

integer

El último identificador de tarea del intervalo.

start

integer

El primer identificador de tarea del intervalo.

UserIdentity

Definición de la identidad de usuario en la que se ejecuta la tarea.

Nombre Tipo Description
autoUser

AutoUserSpecification

Usuario automático en el que se ejecuta la tarea.
Las propiedades userName y autoUser son mutuamente excluyentes; debe especificar uno pero no ambos.

username

string

Nombre de la identidad de usuario en la que se ejecuta la tarea.
Las propiedades userName y autoUser son mutuamente excluyentes; debe especificar uno pero no ambos.