Codici di errore e stato batch
Le operazioni api REST per il servizio Batch restituiscono codici di stato HTTP standard, come definito nelle definizioni di codice di stato HTTP/1.1.
Le operazioni API possono restituire anche informazioni aggiuntive sull'errore per fornire altri dati allo sviluppatore. Ad esempio, l'errore seguente indica che un parametro di query specificato nell'URI richiesta non è valido e fornisce altre informazioni sul nome e il valore del parametro non valido e il motivo dell'errore stesso.
{
"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"
}]
}
Le sezioni seguenti contengono gli elenchi dei codici di errore per il servizio Batch:
Codici di errore comuni dell'API REST
I codici di errore elencati nella tabella seguente possono essere restituiti da un'operazione eseguita nel servizio Batch.
Codice di errore | Codice di stato HTTP | Messaggio utente |
---|---|---|
ConditionNotMet | Non modificato (304) | La condizione specificata nell'intestazione e nelle intestazioni condizionali non è stata soddisfatta per un'operazione di lettura. |
MissingRequiredHeader | Richiesta non valida (400) | Intestazione HTTP obbligatoria non specificata. |
MissingRequiredProperty | Richiesta non valida (400) | Una proprietà obbligatoria non è stata specificata nel corpo della richiesta. |
UnsupportedHeader | Richiesta non valida (400) | Una delle intestazioni HTTP specificate nella richiesta non è supportata. |
UnsupportedProperty | Richiesta non valida (400) | Una delle proprietà specificate nel corpo della richiesta non è supportata. |
InvalidHeaderValue | Richiesta non valida (400) | Il valore specificato per una delle intestazioni HTTP non presenta il formato corretto. |
InvalidPropertyValue | Richiesta non valida (400) | Il valore specificato per una delle proprietà nel corpo della richiesta non è valido. |
MissingRequiredQueryParameter | Richiesta non valida (400) | Parametro di query obbligatorio non specificato per questa richiesta. |
UnsupportedQueryParameter | Richiesta non valida (400) | Uno dei parametri di query specificati nell'URI della richiesta non è supportato. |
InvalidQueryParameterValue | Richiesta non valida (400) | Valore non valido specificato per uno dei parametri di query nell'URI di richiesta. |
OutOfRangeQueryParameterValue | Richiesta non valida (400) | Un parametro di query specificato nell'URI della richiesta non è compreso nell'intervallo consentito. |
RequestUrlFailedToParse | Richiesta non valida (400) | Impossibile analizzare l'URL nella richiesta. |
InvalidUri | Richiesta non valida (400) | L'URI richiesto non rappresenta risorse nel server. |
InvalidHttpVerb | Richiesta non valida (400) | Il verbo HTTP specificato non è stato riconosciuto dal server. |
EmptyMetadataKey | Richiesta non valida (400) | La chiave per una delle coppie chiave-valore dei metadati è vuota. |
InvalidRequestBody | Richiesta non valida (400) | Il corpo della richiesta specificato non è sintatticamente valido. |
OutOfRangeInput | Richiesta non valida (400) | Uno degli input della richiesta non è compreso nell'intervallo. |
InvalidAuthenticationInfo | Richiesta non valida (400) | Le informazioni di autenticazione non sono state fornite nel formato corretto. Verificare il valore dell'intestazione Di autorizzazione . |
InvalidInput | Richiesta non valida (400) | Uno degli input della richiesta non è valido. |
InvalidMetadata | Richiesta non valida (400) | I metadati specificati non sono validi. Include caratteri non consentiti. |
MetadataTooLarge | Richiesta non valida (400) | Le dimensioni dei metadati specificati superano le dimensioni massime consentite. |
MultipleConditionHeadersNotSupported | Richiesta non valida (400) | Non sono supportate più intestazioni di condizione. |
AuthenticationFailed | Non consentito (403) | Impossibile autenticare la richiesta. Verificare che il valore dell'intestazione di autorizzazione sia formato correttamente e includa la firma. |
InsufficientAccountPermissions | Non consentito (403) | L'account a cui viene eseguito l'accesso non dispone di autorizzazioni sufficienti per eseguire questa operazione. |
AccountIsDisabled | Non consentito (403) | L'account specificato è disabilitato. |
ResourceNotFound | Non trovato (404) | La risorsa specificata non esiste. |
UnsupportedHttpVerb | Metodo non consentito (405) | La risorsa non supporta il verbo HTTP specificato. |
MissingContentLengthHeader | Lunghezza obbligatoria (411) | L'intestazione Content-Length non è stata specificata. |
ConditionNotMet | Condizione preliminare non riuscita (412) | La condizione specificata nell'intestazione e nelle intestazioni condizionali non è stata soddisfatta per un'operazione di scrittura. |
RequestBodyTooLarge | Entità della richiesta troppo grande (413) | Le dimensioni del corpo della richiesta superano le dimensioni massime consentite. |
InvalidRange | Impossibile attenersi all'intervallo richiesto (416) | L'intervallo specificato non è valido per le dimensioni correnti della risorsa. |
InternalError | Errore interno del server (500) | errore interno del server. Si prega di ripetere la richiesta. |
OperationTimedOut | Errore interno del server (500) | L'operazione non è stata completata nel tempo consentito. |
ServerBusy | Servizio non disponibile (503) | Il server non è attualmente in grado di ricevere richieste. Si prega di ripetere la richiesta. |
Codici di errore del servizio Batch
I codici di errore elencati nella tabella seguente possono essere restituiti da un'operazione eseguita nel servizio Batch.
Codice di errore | Codice di stato HTTP | Messaggio utente |
---|---|---|
UnsupportedRequestVersion | Richiesta non valida (400) | La versione della richiesta specificata non è supportata. |
InvalidAutoScalingSettings | Richiesta non valida (400) | Le impostazioni di scalabilità automatica specificate non sono valide. |
AutoScalingFormulaSyntaxError | Richiesta non valida (400) | La formula di scalabilità automatica specificata contiene un errore di sintassi. |
AutoScalingFormulaTooLong | Richiesta non valida (400) | La formula di scalabilità automatica specificata supera il limite di lunghezza. |
OSVersionNotFound | Richiesta non valida (400) | La versione del sistema operativo specificata non esiste. |
OSVersionDisabled | Richiesta non valida (400) | La versione del sistema operativo specificata è disabilitata. |
OSVersionExpired | Richiesta non valida (400) | La versione del sistema operativo specificata è scaduta. |
PoolVersionEqualsUpgradeVersion | Richiesta non valida (400) | Il pool è già nella versione specificata. |
PoolNotEligibleForOSVersionUpgrade | Richiesta non valida (400) | Il pool specificato non è idoneo per l'aggiornamento della versione del sistema operativo. |
PoolNotFound | Non trovato (404) | Il pool specificato non esiste. |
NodeNotFound | Non trovato (404) | Il nodo specificato non esiste. |
JobScheduleNotFound | Non trovato (404) | La pianificazione del processo specificata non esiste. |
JobNotFound | Non trovato (404) | Il processo specificato non esiste. |
TaskNotFound | Non trovato (404) | L'attività specificata non esiste. |
FileNotFound | Non trovato (404) | Il file specificato non esiste. |
NodeUserNotFound | Non trovato (404) | L'utente del nodo specificato non esiste. |
CertificateNotFound | Non trovato (404) | Certificato specificato inesistente. |
JobPreparationTaskNotRunOnNode | Non trovato (404) | L'attività di preparazione del processo non è stata eseguita nel nodo specificato. |
JobReleaseTaskNotRunOnNode | Non trovato (404) | L'attività di rilascio del processo non è stata eseguita nel nodo specificato. |
NodeAgentSKUNotFound | Non trovato (404) | Lo SKU dell'agente del nodo specificato non esiste. |
OperationInvalidForCurrentState | Conflitto (409) | L'operazione specificata non è valida per lo stato corrente della risorsa. |
PoolBeingDeleted | Conflitto (409) | Il pool specificato è stato contrassegnato per l'eliminazione ed è in corso il suo recupero. |
PoolBeingResized | Conflitto (409) | È in corso il ridimensionamento del pool specificato. |
PoolBeingCreated | Conflitto (409) | È in corso la creazione del pool specificato. |
NodeBeingCreated | Conflitto (409) | Viene creato il nodo specificato |
NodeBeingStarted | Conflitto (409) | Il nodo specificato viene avviato |
NodeBeingReimaged | Conflitto (409) | Viene ricreata l'immagine del nodo specificato |
NodeBeingRebooted | Conflitto (409) | Il nodo specificato viene riavviato |
NodeStateUnusable | Conflitto (409) | Lo stato del nodo specificato non è utilizzabile |
JobScheduleBeingTerminated | Conflitto (409) | La pianificazione del processo specificata viene terminata. |
JobScheduleBeingDeleted | Conflitto (409) | La pianificazione del processo specificata è stata contrassegnata per l'eliminazione e viene recuperata. |
CertificateBeingDeleted | Conflitto (409) | Il certificato specificato è stato contrassegnato per l'eliminazione ed è in corso la sua eliminazione. |
PoolExists | Conflitto (409) | Il pool specificato esiste già. |
JobScheduleExists | Conflitto (409) | La pianificazione del processo specificata esiste già. |
NodeUserExists | Conflitto (409) | L'utente del nodo specificato esiste già. |
JobExists | Conflitto (409) | Il processo specificato esiste già. |
NodeUserExists | Conflitto (409) | L'utente del nodo specificato esiste già. |
CertificateExists | Conflitto (409) | Il certificato specificato esiste già. |
JobScheduleDisabled | Conflitto (409) | La pianificazione del processo specificata è disabilitata. |
JobScheduleCompleted | Conflitto (409) | La pianificazione del processo specificata è già in stato completato. |
JobBeingTerminated | Conflitto (409) | È in corso la terminazione del processo specificato. |
JobBeingDeleted | Conflitto (409) | Il processo specificato è stato contrassegnato per l'eliminazione ed è in corso la Garbage Collection. |
JobDisabled | Conflitto (409) | Il processo specificato è disabilitato. |
JobCompleted | Conflitto (409) | Il processo specificato è già in stato completato. |
JobNotActive | Conflitto (409) | Il processo specificato non è in stato attivo. |
TaskExists | Conflitto (409) | L'attività specificata esiste già. |
TaskCompleted | Conflitto (409) | L'attività specificata è già in stato completato. |
TaskNotCompleted | Conflitto (409) | L'attività specificata non è in uno stato completato e l'operazione richiesta può essere eseguita solo sulle attività completate. |
TaskSucceeded | Conflitto (409) | L'attività specificata è già stata completata correttamente e l'operazione richiesta non può essere eseguita sulle attività riuscite. |
TaskFilesUnavailable | Conflitto (409) | I file dell'attività specificata non sono disponibili. |
TaskFilesCleanedup | Conflitto (409) | È stata eseguita la pulizia dei file dell'attività specificata. |
ActiveJobAndScheduleQuotaReached | Conflitto (409) | È stata raggiunta la quota di processo e pianificazione attiva per l'account. |
PoolQuotaReached | Conflitto (409) | È stata raggiunta la quota di pool per l'account. |
UpgradePoolVersionConflict | Conflitto (409) | Il pool sta già eseguendo l'aggiornamento a una versione diversa. |
JobPreparationTaskNotSpecified | Conflitto (409) | Il processo specificato non dispone dell'attività di preparazione del processo. |
JobReleaseTaskNotSpecified | Conflitto (409) | Il processo specificato non dispone di un'attività di rilascio del processo. |
TaskIdSameAsJobPreparationTask | Conflitto (409) | L'ID attività specificato corrisponde all'attività di preparazione del processo. |
TaskIdSameAsJobReleaseTask | Conflitto (409) | L'ID attività specificato è uguale all'attività di rilascio del processo. |
JobWithSameIdExists | Conflitto (409) | Esiste un processo con l'ID pianificazione del processo specificato. La pianificazione del processo e del processo non può avere lo stesso ID. |
JobScheduleWithSameIdExists | Conflitto (409) | Esiste una pianificazione del processo con l'ID processo specificato. La pianificazione del processo e del processo non può avere lo stesso ID. |
NodeAlreadyInTargetSchedulingState | Conflitto (409) | Il nodo specificato è già nello stato di pianificazione di destinazione. |
OperationNotValidOnNode | Conflitto (409) | L'operazione specificata non è valida nel nodo. |
OperationNotValidOnPool | Conflitto (409) | L'operazione specificata non è valida nel pool. |
IOError | Non consentito (403) | Si è verificato un errore di I/O durante l'accesso alla risorsa specificata. |
TooManyEnableAutoScaleRequests | ServiceUnavailable (503) | Troppe richieste abilita scalabilità automatica del pool vengono inviate nel pool. |
ApplicationNotFound | Non trovato (404) | L'applicazione specificata non esiste. |
InvalidApplicationPackageReferences | Conflitto (409) | Non è stato possibile soddisfare uno o più riferimenti al pacchetto dell'applicazione. Ciò si verifica se l'ID applicazione o la versione non esiste o non è attiva oppure se il riferimento non ha specificato una versione e non è configurata alcuna versione predefinita. |
TaskDependenciesNotSpecifiedOnJob | Richiesta non valida (400) | Un'attività è stata specificata in base ad altre attività, ma il processo non ha specificato che userebbe le dipendenze delle attività. |
TaskDependencyListTooLong | Richiesta non valida (400) | Un'attività è stata specificata in base ad altre attività, ma l'elenco delle dipendenze era troppo lungo da archiviare. La lunghezza totale archiviata è limitata a 64000 caratteri; la lunghezza totale degli ID attività deve essere leggermente inferiore a questa per consentire un sovraccarico interno dell'archiviazione. Se si verifica questo errore, è consigliabile usare le dipendenze dell'intervallo di attività. |
TaskDependencyRangesTooLong | Richiesta non valida (400) | Un'attività è stata specificata in base a più intervalli di ID attività e l'elenco di intervalli è troppo lungo da archiviare. Si noti che il problema non è con le dimensioni degli intervalli, ma con il numero di intervalli. |
Codici di errore di pianificazione di processi/attività
Se il servizio Batch rileva un errore durante l'avvio di un'attività in un nodo, contrassegna l'attività come completata. Le informazioni sull'errore vengono restituite all'interno di un failureInfo
elemento nel corpo della risposta di Elencare i file associati a un'attività e Ottenere informazioni sulle API di un'attività .
Analogamente, se il servizio Batch rileva un errore durante l'avvio del processo, contrassegna il processo come completato. Queste informazioni sull'errore di pianificazione vengono restituite all'interno di un schedulingError
elemento nel corpo della risposta di Ottenere informazioni su un processo nelle API batch .
La tabella seguente contiene l'elenco delle categorie per gli errori di pianificazione delle attività.
Category | Descrizione |
---|---|
UserError | Errori nella specifica dell'attività fornita dall'utente. |
ServerError | Errori rilevati dal servizio Batch che impediscono la pianificazione dell'attività. |
Di seguito è riportato un errore di pre-elaborazione di esempio restituito dal servizio Batch.
{
"preProcessingError": {
"category": "UserError",
"code": "BlobNotFound",
"message": "The specified blob does not exist.",
"values": {
"name": "FilePath",
"value": "myfile.txt"
}
}
}
Nella tabella seguente viene fornito l'elenco dei codici di errore di pianificazione dei processi che possono essere restituiti dal servizio Batch.
Codice di errore | Category | Messaggio utente |
---|---|---|
InvalidCertificatesInAutoPool | UserError | I riferimenti ai certificati indicati nella specifica automatica del pool non sono validi. |
AutoPoolCreationFailedWithQuotaReached | UserError | È stata raggiunta la quota di pool per l'account. |
InvalidApplicationPackageReferencesInAutoPool | UserError | Uno o più pacchetti dell'applicazione specificati per il pool non sono validi. |
InvalidAutoScaleFormulaInAutoPool | UserError | Le impostazioni di scalabilità automatica specificate non sono valide. |
InvalidAutoPoolSettings | UserError | Le impostazioni del pool automatico specificato non sono valide. |
JobBeingTerminated | UserError | Impossibile avviare l'attività perché il processo associato viene terminato. |
Sconosciuto | ServerError | Si è verificato un errore di pianificazione sconosciuto. |
Nella tabella seguente viene fornito l'elenco dei codici di errore di pianificazione delle attività che possono essere restituiti dal servizio Batch.
Codice di errore | Category | Messaggio utente |
---|---|---|
BlobNotFound | UserError | Uno o più BLOB di Azure specificati non sono stati trovati. |
BlobAccessDenied | UserError | L'accesso per uno o più BLOB di Azure specificati viene negato. |
BlobDownloadTimedOut | ServerError | Timeout rilevato durante il download di uno o più BLOB di Azure specificati. |
BlobDownloadMiscError | ServerError | Si è verificato un errore vario durante il download di uno o più BLOB di Azure specificati. |
ResourceDirectoryCreateFailed | ServerError | Errore durante la creazione della directory delle risorse per l'attività. |
ResourceFileCreateFailed | ServerError | Errore durante la creazione del file di risorse. |
ResourceFileWriteFailed | ServerError | Errore durante la scrittura del file di risorse. |
CommandProgramNotFound | UserError | Il programma di comando specificato non viene trovato. |
CommandLaunchFailed | UserError | Impossibile avviare la riga di comando specificata. |
TaskEnded | UserError | L'attività è stata terminata dalla richiesta utente. |
MaxInternalRetryCountReached | UserError | L'attività specificata ha raggiunto il numero massimo di tentativi interni. |
TaskSchedulingConstraintFailed | UserError | Impossibile pianificare l'attività nel pool associato al processo |
DiskFull | ServerError | Spazio su disco sufficiente nel nodo selezionato per eseguire l'attività. |
Sconosciuto | ServerError | Si è verificato un errore di pianificazione sconosciuto. |