Compartir a través de


Estado del lote y códigos de error

Las operaciones de la API REST para el servicio Batch devuelven códigos de estado HTTP estándar, tal como se define en las definiciones de código de estado HTTP/1.1.

Las operaciones de API también pueden devolver información de error adicional para proporcionar a los desarrolladores más información sobre el error. Por ejemplo, la respuesta de error siguiente indica que en el URI de solicitud existe un parámetro de consulta que no es válido, y proporciona información adicional sobre el nombre y el valor de dicho parámetro y sobre el motivo del error.

{
  "code": "InvalidQueryParameterValue",
  "message": {
      "lang": "en-us",
      "value": "Value for one of the query parameters specified in the request URI is invalid"
  },
  "values": [{
      "key": "QueryParameterName",
      "value": "state"
  }, {
      "key": "QueryParameterValue",
      "value": "deleted"
  }, {
      "key": "Reason",
      "value": "invalid state"
  }]
}

Las secciones siguientes proporcionan listas de códigos de error para el servicio por lotes:

Códigos de error comunes de la API de REST

Una operación en el servicio por lotes puede devolver los códigos de error que se muestran en la tabla siguiente.

Código de error Código de estado HTTP Mensaje de usuario
ConditionNotMet No modificado (304) La condición especificada en los encabezados condicionales no se cumplió para una operación de lectura.
MissingRequiredHeader Solicitud incorrecta (400) No se ha especificado un encabezado HTTP obligatorio.
MissingRequiredProperty Solicitud incorrecta (400) No se especificó una propiedad obligatoria en el cuerpo de la solicitud.
UnsupportedHeader Solicitud incorrecta (400) No se admite uno de los encabezados HTTP especificados en la solicitud.
UnsupportedProperty Solicitud incorrecta (400) No se admite una de las propiedades especificadas en el cuerpo de la solicitud.
InvalidHeaderValue Solicitud incorrecta (400) El valor proporcionado para uno de los encabezados HTTP no estaba en el formato correcto.
InvalidPropertyValue Solicitud incorrecta (400) El valor proporcionado para una de las propiedades en el cuerpo de la solicitud no es válido.
MissingRequiredQueryParameter Solicitud incorrecta (400) No se especificó un parámetro de consulta necesario para esta solicitud.
UnsupportedQueryParameter Solicitud incorrecta (400) No se admite uno de los parámetros de consulta especificados en el URI de solicitud.
InvalidQueryParameterValue Solicitud incorrecta (400) Se especificó un valor no válido para uno de los parámetros de consulta del URI de solicitud.
OutOfRangeQueryParameterValue Solicitud incorrecta (400) Un parámetro de consulta especificado en el URI de solicitud está fuera del intervalo válido.
RequestUrlFailedToParse Solicitud incorrecta (400) No se pudo analizar la dirección URL de la solicitud.
InvalidUri Solicitud incorrecta (400) El URI solicitado no representa ningún recurso en el servidor.
InvalidHttpVerb Solicitud incorrecta (400) El servidor no reconoció el verbo HTTP especificado.
EmptyMetadataKey Solicitud incorrecta (400) La clave de uno de los pares clave-valor de metadatos está vacía.
InvalidRequestBody Solicitud incorrecta (400) El cuerpo de la solicitud especificado no es válido desde el punto de vista sintáctico.
OutOfRangeInput Solicitud incorrecta (400) Una de las entradas de la solicitud está fuera del intervalo.
InvalidAuthenticationInfo Solicitud incorrecta (400) La información de autenticación no se proporcionó en el formato correcto. Compruebe el valor del encabezado Authorization .
InvalidInput Solicitud incorrecta (400) Una de las entradas de la solicitud no es válida.
InvalidMetadata Solicitud incorrecta (400) Los metadatos especificados no son válidos. Incluyen caracteres que no se permiten.
MetadataTooLarge Solicitud incorrecta (400) El tamaño de los metadatos especificados supera el tamaño máximo permitido.
MultipleConditionHeadersNotSupported Solicitud incorrecta (400) No se admiten encabezados de condición múltiples.
AuthenticationFailed Prohibido (403) El servidor no pudo autenticar la solicitud. Compruebe que el valor del encabezado Authorization se forma correctamente e incluya la firma.
InsufficientAccountPermissions Prohibido (403) La cuenta a la que se está teniendo acceso no tiene suficientes permisos para ejecutar esta operación.
AccountIsDisabled Prohibido (403) La cuenta especificada está deshabilitada.
ResourceNotFound No encontrado (404) El recurso especificado no existe.
UnsupportedHttpVerb Método no permitido (405) El recurso no admite el verbo HTTP especificado.
MissingContentLengthHeader Longitud requerida (411) No se especificó el encabezado Content-Length .
ConditionNotMet Error de condición previa (412) La condición especificada en los encabezados condicionales no se cumplió para una operación de escritura.
RequestBodyTooLarge Entidad solicitada demasiado grande (413) El tamaño del cuerpo de la solicitud supera el tamaño máximo permitido.
InvalidRange No se puede satisfacer el intervalo solicitado (416) El intervalo especificado no es válido para el tamaño actual del recurso.
InternalError Error interno del servidor (500) Se produjo un error interno en el servidor. Vuelva a intentar realizar la solicitud.
OperationTimedOut Error interno del servidor (500) La operación no se pudo completar en el tiempo permitido.
ServerBusy Servicio no disponible (503) El servidor actualmente no puede recibir solicitudes. Vuelva a intentar realizar la solicitud.

Códigos de error del servicio por lotes

Una operación en el servicio por lotes puede devolver los códigos de error que se muestran en la tabla siguiente.

Código de error Código de estado HTTP Mensaje de usuario
UnsupportedRequestVersion BadRequest (400) No se admite la versión de la solicitud especificada.
InvalidAutoScalingSettings BadRequest (400) La configuración de escalado automático especificada no es válida.
AutoScalingFormulaSyntaxError BadRequest (400) La fórmula de escalado automático especificada tiene un error de sintaxis.
AutoScalingFormulaTooLong BadRequest (400) La fórmula de escalado automático especificada supera el límite de longitud.
OSVersionNotFound BadRequest (400) La versión del SO especificada no existe.
OSVersionDisabled BadRequest (400) La versión de sistema operativo especificada está deshabilitada.
OSVersionExpired BadRequest (400) La versión de sistema operativo especificada ha expirado.
PoolVersionEqualsUpgradeVersion BadRequest (400) El grupo ya tiene la versión especificada.
PoolNotEligibleForOSVersionUpgrade BadRequest (400) El grupo especificado no es apto para la actualización de versión del sistema operativo.
PoolNotFound NotFound (404) El grupo especificado no existe.
NodeNotFound NotFound (404) El nodo especificado no existe.
JobScheduleNotFound NotFound (404) La programación de trabajo especificada no existe.
JobNotFound NotFound (404) El trabajo especificado no existe.
TaskNotFound NotFound (404) La tarea especificada no existe.
FileNotFound NotFound (404) El archivo especificado no existe.
NodeUserNotFound NotFound (404) El usuario de nodo especificado no existe.
CertificateNotFound NotFound (404) El certificado especificado no existe.
JobPreparationTaskNotRunOnNode NotFound (404) La tarea de preparación del trabajo no se ejecutó en el nodo especificado.
JobReleaseTaskNotRunOnNode NotFound (404) La tarea de liberación del trabajo no se ejecutó en el nodo especificado.
NodeAgentSKUNotFound NotFound (404) La SKU del Agente de nodo especificada no existe.
OperationInvalidForCurrentState Conflicto (409) La operación especificada no es válida para el estado actual del recurso.
PoolBeingDeleted Conflicto (409) El grupo especificado se ha marcado para su eliminación y se está recuperando.
PoolBeingResized Conflicto (409) Se está cambiando el tamaño del grupo especificado
PoolBeingCreated Conflicto (409) Se está creando el grupo especificado.
NodeBeingCreated Conflicto (409) Se está creando el nodo especificado.
NodeBeingStarted Conflicto (409) Se está iniciando el nodo especificado.
NodeBeingReimaged Conflicto (409) Se está reimagendo el nodo especificado.
NodeBeingRebooted Conflicto (409) Se está reiniciando el nodo especificado
NodeStateUnusable Conflicto (409) El estado del nodo especificado no se puede usar.
JobScheduleBeingTerminated Conflicto (409) La programación de trabajo especificada se está finalizando.
JobScheduleBeingDeleted Conflicto (409) La programación de trabajo especificada se ha marcado para su eliminación y se está reclamando.
CertificateBeingDeleted Conflicto (409) El certificado especificado se ha marcado para su eliminación y se está eliminando.
PoolExists Conflicto (409) El grupo especificado ya existe.
JobScheduleExists Conflicto (409) La programación de trabajo especificada ya existe.
NodeUserExists Conflicto (409) El usuario del nodo especificado ya existe.
JobExists Conflicto (409) El trabajo especificado ya existe.
NodeUserExists Conflicto (409) El usuario del nodo especificado ya existe.
CertificateExists Conflicto (409) El certificado especificado ya existe.
JobScheduleDisabled Conflicto (409) La programación de trabajo especificada está deshabilitada.
JobScheduleCompleted Conflicto (409) La programación de trabajo especificada ya está en estado completado.
JobBeingTerminated Conflicto (409) El trabajo especificado está finalizando.
JobBeingDeleted Conflicto (409) El trabajo especificado se ha marcado para su eliminación y se están recolectando los elementos no utilizados.
JobDisabled Conflicto (409) El trabajo especificado está deshabilitado.
JobCompleted Conflicto (409) El trabajo especificado ya está en estado completado.
JobNotActive Conflicto (409) El trabajo especificado no está en estado activo.
TaskExists Conflicto (409) La tarea especificada ya existe.
TaskCompleted Conflicto (409) La tarea especificada ya está en estado completado.
TaskNotCompleted Conflicto (409) La tarea especificada no está en estado completado y la operación solicitada solo se puede realizar en tareas completadas.
TaskSucceed Conflicto (409) La tarea especificada ya se ha completado correctamente y la operación solicitada no se puede realizar en tareas correctas.
TaskFilesUnavailable Conflicto (409) Los archivos de la tarea especificada no están disponibles.
TaskFilesCleanedup Conflicto (409) Los archivos de la tarea especificada se han eliminado.
ActiveJobAndScheduleQuotaReached Conflicto (409) Se ha alcanzado el trabajo activo y la cuota de programación de la cuenta.
PoolQuotaReached Conflicto (409) Se ha alcanzado la cuota de grupo para la cuenta.
UpgradePoolVersionConflict Conflicto (409) El grupo ya se está actualizando a una versión diferente.
JobPreparationTaskNotSpecified Conflicto (409) El trabajo especificado no tiene la tarea de preparación del trabajo.
JobReleaseTaskNotSpecified Conflicto (409) El trabajo especificado no tiene la tarea de liberación de trabajos.
TaskIdSameAsJobPreparationTask Conflicto (409) El identificador de tarea especificado es el mismo que la tarea de preparación del trabajo.
TaskIdSameAsJobReleaseTask Conflicto (409) El identificador de tarea especificado es el mismo que la tarea de liberación del trabajo.
JobWithSameIdExists Conflicto (409) Existe un trabajo con el identificador de programación de trabajo especificado. La programación de trabajos y trabajos no puede tener el mismo identificador.
JobScheduleWithSameIdExists Conflicto (409) Existe una programación de trabajo con el identificador de trabajo especificado. La programación de trabajos y trabajos no puede tener el mismo identificador.
NodeAlreadyInTargetSchedulingState Conflicto (409) El nodo especificado ya está en el estado de programación de destino.
OperationNotValidOnNode Conflicto (409) La operación especificada no es válida en el nodo.
OperationNotValidOnPool Conflicto (409) La operación especificada no es válida en el grupo.
IOError Prohibido (403) Error de E/S al tener acceso al recurso especificado.
TooManyEnableAutoScaleRequests ServiceUnavailable (503) Hay demasiadas solicitudes habilitar escalado automático del grupo que se emiten en el grupo.
ApplicationNotFound No encontrado (404) La aplicación especificada no existe.
InvalidApplicationPackageReferences Conflicto (409) No se pudieron satisfacer una o varias referencias de paquete de aplicación. Esto ocurre si el identificador o la versión de la aplicación no existen o no están activos, o si la referencia no especificó una versión y no hay ninguna versión predeterminada configurada.
TaskDependenciesNotSpecifiedOnJob Solicitud incorrecta (400) Se especificó una tarea según otras tareas, pero el trabajo no especificó que usaría dependencias de tareas.
TaskDependencyListTooLong Solicitud incorrecta (400) Se especificó una tarea según otras tareas, pero la lista de dependencias era demasiado larga para almacenarse. La longitud total almacenada está limitada a 64000 caracteres; la longitud total de los identificadores de tarea debe ser ligeramente menor que esta para permitir la sobrecarga de almacenamiento interna. Si se produce este error, considere la posibilidad de usar las dependencias del intervalo de tareas en su lugar.
TaskDependencyRangesTooLong Solicitud incorrecta (400) Se especificó una tarea según varios intervalos de identificadores de tarea y la lista de intervalos era demasiado larga para almacenarse. Tenga en cuenta que el problema no tiene el tamaño de los intervalos, pero con el número de intervalos.

Códigos de error en la programación de trabajos/tareas

Si el servicio Batch encuentra un error al iniciar una tarea en un nodo, marca la tarea como completada. La información de error se devuelve dentro de un failureInfo elemento en el cuerpo de la respuesta de Enumerar los archivos asociados a una tarea y Obtener información sobre las API de una tarea .

De forma similar, si el servicio por lotes encuentra un error al iniciar el trabajo, marcará el trabajo como completado. Esta información de error de programación se devuelve dentro de un schedulingError elemento en el cuerpo de la respuesta de Obtención de información sobre un trabajo en las API de Batch.

En la tabla siguiente se proporciona la lista de categorías de errores de programación de tareas.

Category Descripción
UserError Errores en la especificación de tareas proporcionada por el usuario.
ServerError Errores encontrados por el servicio por lotes que impiden programar la tarea.

A continuación se muestra un error de preprocesamiento de ejemplo devuelto por el servicio Batch.

{
  "preProcessingError": {
    "category": "UserError",
    "code": "BlobNotFound",
    "message": "The specified blob does not exist.",
    "values": {
      "name": "FilePath",
      "value": "myfile.txt"
    }
  }
}

En la tabla siguiente se proporciona la lista de códigos de error de programación de trabajos que el servicio Batch puede devolver.

Código de error Category Mensaje de usuario
InvalidCertificatesInAutoPool UserError Las referencias del certificado especificadas en la especificación de agrupación automática no son válidas.
AutoPoolCreationFailedWithQuotaReached UserError Se ha alcanzado la cuota de grupo para la cuenta.
InvalidApplicationPackageReferencesInAutoPool UserError Uno o varios paquetes de aplicación especificados para el grupo no son válidos.
InvalidAutoScaleFormulaInAutoPool UserError La configuración de escalado automático especificada no es válida.
InvalidAutoPoolSettings UserError La configuración de la cola automática especificada no es válida.
JobBeingTerminated UserError No se puede iniciar la tarea porque se está finalizando el trabajo asociado.
Unknown ServerError Se ha producido un error de programación desconocido.

En la tabla siguiente se proporciona la lista de códigos de error de programación de tareas que el servicio Batch puede devolver.

Código de error Category Mensaje de usuario
BlobNotFound UserError No se encuentra uno de los blobs de Azure especificados.
BlobAccessDenied UserError Se deniega el acceso a uno de los blobs de Azure especificados.
BlobDownloadTimedOut ServerError Se encontró un tiempo de espera al descargar uno de los blobs de Azure especificados.
BlobDownloadMiscError ServerError Error varios detectado al descargar uno de los blobs de Azure especificados.
ResourceDirectoryCreateFailed ServerError Error al crear el directorio de recursos para la tarea.
ResourceFileCreateFailed ServerError Error al crear el archivo de recursos.
ResourceFileWriteFailed ServerError Error al escribir el archivo de recursos.
CommandProgramNotFound UserError No se encuentra el programa de comandos especificado.
CommandLaunchFailed UserError No se pudo iniciar la línea de comandos especificada.
TaskEnded UserError La tarea finalizó por solicitud de usuario.
MaxInternalRetryCountReached UserError La tarea especificada ha alcanzado el número máximo de reintentos internos.
TaskSchedulingConstraintFailed UserError No se puede programar la tarea en el grupo asociado al trabajo
DiskFull ServerError No hay suficiente espacio en disco en el nodo seleccionado para ejecutar la tarea.
Unknown ServerError Se ha producido un error de programación desconocido.