Compartilhar via


Status do Lote e Códigos de Erro

As operações da API REST para o serviço do Lote retornam códigos http padrão status, conforme definido nas definições de código de status HTTP/1.1.

As operações da API também podem retornar informações adicionais de erro para fornecer ao desenvolvedor mais informações sobre o erro. Por exemplo, a seguinte resposta de erro indica que um parâmetro de consulta especificado no URI de solicitação não era válido e fornece informações adicionais sobre o nome e o valor do parâmetro inválido e o motivo do erro.

{
  "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"
  }]
}

As seções a seguir fornecem listas de códigos de erro para o serviço de Lote:

Códigos de erro comuns da API REST

Os códigos de erro listados na tabela a seguir podem ser retornados por uma operação no serviço de Lote.

Código do erro Código de status HTTP Mensagem do usuário
ConditionNotMet Sem modificação (304) A condição especificada em cabeçalhos condicionais não foi atendida para uma operação de leitura.
MissingRequiredHeader Solicitação incorreta (400) Um cabeçalho HTTP necessário não foi especificado.
MissingRequiredProperty Solicitação incorreta (400) Uma propriedade necessária não foi especificada no corpo da solicitação.
UnsupportedHeader Solicitação incorreta (400) Um dos cabeçalhos HTTP especificados na solicitação não tem suporte.
UnsupportedProperty Solicitação incorreta (400) Uma das propriedades especificadas no corpo da solicitação não tem suporte.
InvalidHeaderValue Solicitação incorreta (400) O valor fornecido para um dos cabeçalhos HTTP não estava no formato correto.
InvalidPropertyValue Solicitação incorreta (400) O valor fornecido para uma propriedade no corpo da solicitação é inválido.
MissingRequiredQueryParameter Solicitação incorreta (400) Um parâmetro de consulta necessário não foi especificado para esta solicitação.
UnsupportedQueryParameter Solicitação incorreta (400) Um dos parâmetros de consulta especificados no URI de solicitação não tem suporte.
InvalidQueryParameterValue Solicitação incorreta (400) Um valor inválido foi especificado para um dos parâmetros de consulta no URI de solicitação.
OutOfRangeQueryParameterValue Solicitação incorreta (400) Um parâmetro de consulta especificado no URI de solicitação está fora do intervalo.
RequestUrlFailedToParse Solicitação incorreta (400) Não foi possível analisar a URL na solicitação.
InvalidUri Solicitação incorreta (400) O URI solicitado não representa nenhum recurso no servidor.
InvalidHttpVerb Solicitação incorreta (400) O verbo HTTP especificado não foi reconhecido pelo servidor.
EmptyMetadataKey Solicitação incorreta (400) A chave para um dos pares chave de metadados-valor está vazio.
InvalidRequestBody Solicitação incorreta (400) O Corpo da Solicitação especificado não é sintaticamente válido.
OutOfRangeInput Solicitação incorreta (400) Uma das entradas da solicitação está fora do intervalo.
InvalidAuthenticationInfo Solicitação incorreta (400) As informações de autenticação não foram fornecidas no formato correto. Verifique o valor do cabeçalho Authorization .
InvalidInput Solicitação incorreta (400) Uma das entradas de solicitação não é válida.
InvalidMetadata Solicitação incorreta (400) Os metadados especificados são inválidos. Eles incluem caracteres que não são permitidos.
MetadataTooLarge Solicitação incorreta (400) O tamanho dos metadados especificados excede o tamanho máximo permitido.
MultipleConditionHeadersNotSupported Solicitação incorreta (400) Vários cabeçalhos de condição não têm suporte.
AuthenticationFailed Proibido (403) Falha no servidor ao autenticar a solicitação. Verifique se o valor do cabeçalho Authorization está formado corretamente e inclui a assinatura.
InsufficientAccountPermissions Proibido (403) A conta que está sendo acessada não tem permissões suficientes para executar essa operação.
AccountIsDisabled Proibido (403) A conta especificada está desabilitada.
ResourceNotFound Não encontrado (404) O recurso especificado não existe.
UnsupportedHttpVerb Método não permitido (405) O recurso não oferece suporte ao verbo HTTP especificado.
MissingContentLengthHeader Comprimento Obrigatório (411) O cabeçalho Content-Length não foi especificado.
ConditionNotMet Falha na Pré-condição (412) A condição especificada em cabeçalhos condicionais não foi atendida para uma operação de gravação.
RequestBodyTooLarge Entidade de solicitação muito grande (413) O tamanho do corpo da solicitação excede o tamanho máximo permitido.
InvalidRange Intervalo solicitado não satisfatório (416) O intervalo especificado não é válido para o tamanho atual do recurso.
InternalError Erro interno do servidor (500) O servidor encontrou um erro interno. Tente novamente a solicitação.
OperationTimedOut Erro interno do servidor (500) A operação não pôde ser concluída dentro do tempo permitido ou do número máximo de tentativas possível.
ServerBusy Serviço não disponível (503) Atualmente, o servidor não pode receber solicitações. Tente novamente a sua solicitação.

Códigos de erro do serviço de Lote

Os códigos de erro listados na tabela a seguir podem ser retornados por uma operação no serviço de Lote.

Código do erro Código de status HTTP Mensagem do usuário
UnsupportedRequestVersion BadRequest (400) Não há suporte especificado para a versão de solicitação.
InvalidAutoScalingSettings BadRequest (400) As configurações de dimensionamento automático especificadas não são válidas.
AutoScalingFormulaSyntaxError BadRequest (400) A fórmula de dimensionamento automático especificada tem um erro de sintaxe.
AutoScalingFormulaTooLong BadRequest (400) A fórmula de dimensionamento automático especificada excede o limite de comprimento.
OSVersionNotFound BadRequest (400) A versão do sistema operacional especificada não existe.
OSVersionDisabled BadRequest (400) A versão do sistema operacional especificada está desabilitada.
OSVersionExpired BadRequest (400) A versão do sistema operacional especificada expirou.
PoolVersionEqualsUpgradeVersion BadRequest (400) O pool já está com a versão especificada.
PoolNotEligibleForOSVersionUpgrade BadRequest (400) O pool especificado não está qualificado para atualização da versão do sistema operacional.
PoolNotFound NotFound (404) O pool especificado não existe.
NodeNotFound NotFound (404) O nó especificado não existe.
JobScheduleNotFound NotFound (404) A agenda de trabalho especificada não existe.
JobNotFound NotFound (404) O trabalho especificado não existe.
TaskNotFound NotFound (404) A tarefa especificada não existe.
FileNotFound NotFound (404) O arquivo especificado não existe.
NodeUserNotFound NotFound (404) O usuário do nó especificado não existe.
CertificateNotFound NotFound (404) O certificado especificado não existe.
JobPreparationTaskNotRunOnNode NotFound (404) A tarefa de preparação do trabalho não foi executada no nó especificado.
JobReleaseTaskNotRunOnNode NotFound (404) A tarefa de liberação do trabalho não foi executada no nó especificado.
NodeAgentSKUNotFound NotFound (404) O SKU do Agente de Nó especificado não existe.
OperationInvalidForCurrentState Conflito (409) A operação especificada não é válida para o estado atual do recurso.
PoolBeingDeleted Conflito (409) O pool especificado foi marcado para exclusão e está sendo recuperado.
PoolBeingResized Conflito (409) O pool especificado está sendo redimensionado
PoolBeingCreated Conflito (409) O pool especificado está sendo criado.
NodeBeingCreated Conflito (409) O nó especificado está sendo criado
NodeBeingStarted Conflito (409) O nó especificado está sendo iniciado
NodeBeingReimaged Conflito (409) O nó especificado está sendo recriado
NodeBeingRebooted Conflito (409) O nó especificado está sendo reinicializado
NodeStateUnusable Conflito (409) O estado do nó especificado é inutilizável
JobScheduleBeingTerminated Conflito (409) A agenda de trabalho especificada está sendo encerrada.
JobScheduleBeingDeleted Conflito (409) O agendamento de trabalho especificado foi marcado para exclusão e está sendo recuperado.
CertificateBeingDeleted Conflito (409) O certificado especificado foi marcado para exclusão e está sendo excluído.
PoolExists Conflito (409) O pool especificado já existe.
JobScheduleExists Conflito (409) A agenda de trabalho especificada já existe.
NodeUserExists Conflito (409) O usuário do nó especificado já existe.
JobExists Conflito (409) O trabalho especificado já existe.
NodeUserExists Conflito (409) O usuário do nó especificado já existe.
CertificateExists Conflito (409) O certificado especificado já existe.
JobScheduleDisabled Conflito (409) A agenda de trabalho especificada está desabilitada.
JobScheduleCompleted Conflito (409) A agenda de trabalho especificada já está em estado concluído.
JobBeingTerminated Conflito (409) O trabalho especificado está sendo encerrado.
JobBeingDeleted Conflito (409) O trabalho especificado foi marcado para exclusão e está sendo coletado como lixo.
Trabalho Desabilitado Conflito (409) O trabalho especificado está desabilitado.
JobCompleted Conflito (409) O trabalho especificado já está em um estado concluído.
JobNotActive Conflito (409) O trabalho especificado não está no estado ativo.
TaskExists Conflito (409) A tarefa especificada já existe.
TaskCompleted Conflito (409) A tarefa especificada já está em um estado concluído.
TaskNotCompleted Conflito (409) A tarefa especificada não está em um estado concluído e a operação solicitada só pode ser executada em tarefas concluídas.
TaskSucceededed Conflito (409) A tarefa especificada já foi concluída com êxito e a operação solicitada não pode ser executada em tarefas bem-sucedidas.
TaskFilesUnavailable Conflito (409) Os arquivos da tarefa especificada não estão disponíveis.
TaskFilesCleanedup Conflito (409) Os arquivos da tarefa especificada estão limpos.
ActiveJobAndScheduleQuotaReached Conflito (409) O trabalho ativo e a cota de agendamento da conta foram atingidos.
PoolQuotaReached Conflito (409) A cota do pool para a conta foi atingida.
UpgradePoolVersionConflict Conflito (409) O pool já está atualizando para uma versão diferente.
JobPreparationTaskNotSpecified Conflito (409) O trabalho especificado não tem tarefa de preparação de trabalho.
JobReleaseTaskNotSpecified Conflito (409) O trabalho especificado não tem tarefa de liberação de trabalho.
TaskIdSameAsJobPreparationTask Conflito (409) A ID de tarefa especificada é igual à tarefa de preparação do trabalho.
TaskIdSameAsJobReleaseTask Conflito (409) A ID da tarefa especificada é a mesma da tarefa de liberação do trabalho.
JobWithSameIdExists Conflito (409) Existe um trabalho com a ID de agendamento de trabalho especificada. A agenda de trabalho e trabalho não pode ter a mesma ID.
JobScheduleWithSameIdExists Conflito (409) Existe uma agenda de trabalho com a ID de trabalho especificada. A agenda de trabalho e trabalho não pode ter a mesma ID.
NodeAlreadyInTargetSchedulingState Conflito (409) O nó especificado já está no estado de agendamento de destino.
OperationNotValidOnNode Conflito (409) A operação especificada não é válida no nó.
OperationNotValidOnPool Conflito (409) A operação especificada não é válida no pool.
IOError Proibido (403) Ocorreu um erro de E/S ao acessar o recurso especificado.
TooManyEnableAutoScaleRequests ServiceUnavailable (503) Muitas solicitações de Habilitar Dimensionamento Automático do Pool são emitidas no pool.
ApplicationNotFound Não encontrado (404) O aplicativo especificado não existe.
InvalidApplicationPackageReferences Conflito (409) Não foi possível atender a uma ou mais referências de pacote de aplicativos. Isso ocorrerá se a ID ou a versão do aplicativo não existir ou não estiver ativa ou se a referência não tiver especificado uma versão e não houver nenhuma versão padrão configurada.
TaskDependenciesNotSpecifiedOnJob Solicitação incorreta (400) Uma tarefa foi especificada como dependendo de outras tarefas, mas o trabalho não especificou que usaria dependências de tarefa.
TaskDependencyListTooLong Solicitação incorreta (400) Uma tarefa foi especificada como dependendo de outras tarefas, mas a lista de dependências era muito longa para ser armazenada. O comprimento total armazenado é limitado a 64.000 caracteres; o comprimento total das IDs de tarefa deve ser um pouco menor do que isso para permitir a sobrecarga de armazenamento interno. Se você encontrar esse erro, considere usar dependências de intervalo de tarefas.
TaskDependencyRangesTooLong Solicitação incorreta (400) Uma tarefa foi especificada como dependendo de vários intervalos de IDs de tarefa e a lista de intervalos era muito longa para ser armazenada. Observe que o problema não é com o tamanho dos intervalos, mas com o número de intervalos.

Códigos de erro de agendamento de trabalho/tarefa

Se o serviço do Lote encontrar um erro ao iniciar uma tarefa em um nó, ele marcará a tarefa como concluída. As informações de erro são retornadas dentro de um failureInfo elemento no corpo da resposta de Listar os arquivos associados a uma tarefa e Obter informações sobre as APIs de uma tarefa .

Da mesma forma, se o serviço de Lote encontra um erro ao iniciar o trabalho, ele marca o trabalho como concluído. Essas informações de erro de agendamento são retornadas dentro de um schedulingError elemento no corpo da resposta de Obter informações sobre um trabalho em APIs do Lote.

A tabela a seguir fornece a lista de categorias para erros de agendamento de tarefas.

Categoria Descrição
UserError Erros na especificação da tarefa fornecida pelo usuário.
ServerError Erros encontrados pelo serviço de Lote que o impedem de agendar a tarefa.

Veja abaixo um exemplo de erro de pré-processamento retornado pelo serviço do Lote.

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

A tabela a seguir fornece a lista de códigos de erro de agendamento de trabalho que podem ser retornados pelo serviço lote.

Código do erro Categoria Mensagem do usuário
InvalidCertificatesInAutoPool UserError As referências de certificado especificadas na especificação do pool automático não são válidas.
AutoPoolCreationFailedWithQuotaReached UserError A cota de pool para a conta for atingida.
InvalidApplicationPackageReferencesInAutoPool UserError Um ou mais pacotes de aplicativos especificados para o pool são inválidos.
InvalidAutoScaleFormulaInAutoPool UserError As configurações de dimensionamento automático especificadas não são válidas.
InvalidAutoPoolSettings UserError As configurações de autopool especificadas não são válidas.
JobBeingTerminated UserError A tarefa não pode ser iniciada porque o trabalho associado está sendo encerrado.
Unknown ServerError Ocorreu um erro de agendamento desconhecido.

A tabela a seguir fornece a lista de códigos de erro de agendamento de tarefas que podem ser retornados pelo serviço lote.

Código do erro Categoria Mensagem do usuário
BlobNotFound UserError Um dos Blobs do Azure especificados não foi encontrado.
BlobAccessDenied UserError O acesso a um dos Blobs do Azure especificados foi negado.
BlobDownloadTimedOut ServerError Tempo limite encontrado durante o download de um dos Blobs do Azure especificados.
BlobDownloadMiscError ServerError Erro diverso encontrado ao baixar um dos Blobs do Azure especificados.
ResourceDirectoryCreateFailed ServerError Falha ao criar o diretório de recursos para a tarefa.
ResourceFileCreateFailed ServerError Falha ao criar o arquivo de recurso.
ResourceFileWriteFailed ServerError Falha ao gravar o arquivo de recurso.
CommandProgramNotFound UserError O programa de comando especificado não foi encontrado.
CommandLaunchFailed UserError Falha ao iniciar a linha de comando especificada.
TaskEnded UserError A tarefa foi encerrada pela solicitação do usuário.
MaxInternalRetryCountReached UserError A tarefa especificada atingiu a contagem máxima de repetições internas.
TaskSchedulingConstraintFailed UserError A tarefa não pode ser agendada no pool associado ao trabalho
DiskFull ServerError Não há espaço em disco suficiente no nó que foi selecionado para executar a tarefa.
Unknown ServerError Ocorreu um erro de agendamento desconhecido.