Batchstatus und Fehlercodes
REST-API-Vorgänge für den Batch-Dienst geben standardmäßige HTTP-status-Codes zurück, wie in den HTTP/1.1-Statuscodedefinitionen definiert.
API-Vorgänge können auch zusätzliche Fehlerinformationen zurückgeben, um dem Entwickler weitere Informationen zu dem Fehler bereitzustellen. Beispielsweise gibt die folgende Fehlerantwort an, dass ein im Anforderungs-URI angegebener Abfrageparameter ungültig war, und stellt zusätzliche Informationen über den Namen und Wert des ungültigen Parameters sowie über die Ursache des Fehlers bereit.
{
"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"
}]
}
Die folgenden Abschnitte enthalten Listen mit den Fehlercodes für den Batch-Dienst:
Allgemeine REST-API-Fehlercodes
Die in der folgenden Tabelle aufgelisteten Fehlercodes können von einem Vorgang im Batch-Dienst zurückgegeben werden.
Fehlercode | HTTP-Statuscode | Meldung für den Benutzer |
---|---|---|
ConditionNotMet | Nicht geändert (304) | Die in einem oder mehreren bedingten Headern für einen Lesevorgang angegebene Bedingung wurde nicht erfüllt. |
MissingRequiredHeader | Ungültige Anforderung (400) | Ein erforderlicher HTTP-Header wurde nicht angegeben. |
MissingRequiredProperty | Ungültige Anforderung (400) | Eine erforderliche Eigenschaft war nicht im Anforderungstext angegeben. |
UnsupportedHeader | Ungültige Anforderung (400) | Einer der in der Anforderung angegebenen HTTP-Header wird nicht unterstützt. |
UnsupportedProperty | Ungültige Anforderung (400) | Eine der in der Anforderung angegebenen Eigenschaften wird nicht unterstützt. |
InvalidHeaderValue | Ungültige Anforderung (400) | Der für einen der HTTP-Header angegebene Wert weist ein falsches Format auf. |
InvalidPropertyValue | Ungültige Anforderung (400) | Der Wert, der für eine der Eigenschaften im Hauptteil der Anforderung angegeben ist, ist ungültig. |
MissingRequiredQueryParameter | Ungültige Anforderung (400) | Für diese Anforderung wurde ein erforderlicher Abfrageparameter nicht angegeben. |
UnsupportedQueryParameter | Ungültige Anforderung (400) | Einer der im Anforderungs-URI angegebenen Abfrageparameter wird nicht unterstützt. |
InvalidQueryParameterValue | Ungültige Anforderung (400) | Für einen der Abfrageparameter im Anforderungs-URI wurde ein ungültiger Wert angegeben. |
OutOfRangeQueryParameterValue | Ungültige Anforderung (400) | Ein im Anforderungs-URI angegebener Abfrageparameter liegt außerhalb des zulässigen Bereichs. |
RequestUrlFailedToParse | Ungültige Anforderung (400) | Die URL in der Anforderung konnte nicht analysiert werden. |
InvalidUri | Ungültige Anforderung (400) | Der angeforderte URI stellt keine Ressource auf dem Server dar. |
InvalidHttpVerb | Ungültige Anforderung (400) | Das angegebene HTTP-Verb wurde vom Server nicht erkannt. |
EmptyMetadataKey | Ungültige Anforderung (400) | Der Schlüssel für eines der Schlüssel-Wert-Paare der Metadaten ist leer. |
InvalidRequestBody | Ungültige Anforderung (400) | Der angegebene Anforderungstext ist syntaktisch ungültig. |
OutOfRangeInput | Ungültige Anforderung (400) | Eine der Anforderungseingaben liegt außerhalb des gültigen Bereichs. |
InvalidAuthenticationInfo | Ungültige Anforderung (400) | Die Authentifizierungsinformationen wurden nicht im richtigen Format bereitgestellt. Überprüfen Sie den Wert des Autorisierungsheaders . |
InvalidInput | Ungültige Anforderung (400) | Eine der Anforderungseingaben ist ungültig. |
InvalidMetadata | Ungültige Anforderung (400) | Die angegebenen Metadaten sind ungültig. Sie enthalten Zeichen, die nicht zulässig sind. |
MetadataTooLarge | Ungültige Anforderung (400) | Die angegebenen Metadaten überschreiten die maximal zulässige Größe. |
MultipleConditionHeadersNotSupported | Ungültige Anforderung (400) | Mehrere Bedingungsheader werden nicht unterstützt. |
AuthenticationFailed | Unzulässig (403) | Fehler bei Authentifizierung der Anforderung. Überprüfen Sie, ob der Wert des Autorisierungsheaders richtig formatiert ist und die Signatur enthält. |
InsufficientAccountPermissions | Unzulässig (403) | Das Konto, auf das zugegriffen wird, verfügt nicht über ausreichende Berechtigungen zum Ausführen dieses Vorgangs. |
AccountIsDisabled | Unzulässig (403) | Das angegebene Konto ist deaktiviert. |
ResourceNotFound | Nicht gefunden (404) | Die angegebene Ressource ist nicht vorhanden. |
UnsupportedHttpVerb | Methode nicht zulässig (405) | Die Ressource unterstützt nicht das angegebene HTTP-Verb. |
MissingContentLengthHeader | Länge erforderlich (411) | Der Content-Length-Header wurde nicht angegeben. |
ConditionNotMet | Vorbedingung nicht erfüllt (412) | Die in einem oder mehreren bedingten Headern für einen Schreibvorgang angegebene Bedingung wurde nicht erfüllt. |
RequestBodyTooLarge | Anforderungsentität ist zu groß (413) | Der Anforderungstext überschreitet die maximal zulässige Größe. |
InvalidRange | Angeforderter Bereich nicht erfüllbar (416) | Der angegebene Bereich ist für die aktuelle Größe der Ressource ungültig. |
InternalError | Interner Serverfehler (500) | Auf dem Server ist ein interner Fehler aufgetreten. Versuchen Sie die Anforderung erneut. |
OperationTimedOut | Interner Serverfehler (500) | Der Vorgang konnte nicht innerhalb der zulässigen Zeit abgeschlossen werden. |
ServerBusy | Der Dienst ist nicht verfügbar (503) | Der Server kann derzeit keine Anforderungen empfangen. Bitte wiederholen Sie die Anforderung. |
Fehlercodes des Batch-Diensts
Die in der folgenden Tabelle aufgelisteten Fehlercodes können von einem Vorgang im Batch-Dienst zurückgegeben werden.
Fehlercode | HTTP-Statuscode | Meldung für den Benutzer |
---|---|---|
UnsupportedRequestVersion | BadRequest (400) | Die angegebene Anforderungsversion wird nicht unterstützt. |
InvalidAutoScalingSettings | BadRequest (400) | Die angegebenen Einstellungen für automatische Skalierung sind ungültig. |
AutoScalingFormulaSyntaxError | BadRequest (400) | Die angegebene Formel für automatische Skalierung Formel hat einen Syntaxfehler. |
AutoScalingFormulaTooLong | BadRequest (400) | Die angegebene Formel für automatische Skalierung überschreitet die Längenbegrenzung. |
OSVersionNotFound | BadRequest (400) | Die angegebene Betriebssystemversion ist nicht vorhanden. |
OSVersionDisabled | BadRequest (400) | Die angegebene Betriebssystemversion ist deaktiviert. |
OSVersionExpired | BadRequest (400) | Die angegebene Betriebssystemversion ist abgelaufen. |
PoolVersionEqualsUpgradeVersion | BadRequest (400) | Der Pool hat bereits die angegebene Version. |
PoolNotEligibleForOSVersionUpgrade | BadRequest (400) | Der angegebene Pool ist für das Upgrade der Betriebssystemversion nicht geeignet. |
PoolNotFound | Nicht gefunden (404) | Der angegebene Pool ist nicht vorhanden. |
NodeNotFound | Nicht gefunden (404) | Der angegebene Knoten ist nicht vorhanden. |
JobScheduleNotFound | Nicht gefunden (404) | Der angegebene Auftragszeitplan ist nicht vorhanden. |
JobNotFound | Nicht gefunden (404) | Der angegebene Auftrag ist nicht vorhanden. |
TaskNotFound | Nicht gefunden (404) | Die angegebene Aufgabe ist nicht vorhanden. |
FileNotFound | Nicht gefunden (404) | Die angegebene Datei ist nicht vorhanden. |
NodeUserNotFound | Nicht gefunden (404) | Der angegebene Knotenbenutzer ist nicht vorhanden. |
CertificateNotFound | Nicht gefunden (404) | Das angegebene Zertifikat ist nicht vorhanden. |
JobPreparationTaskNotRunOnNode | Nicht gefunden (404) | Der Auftragsvorbereitungstask wurde auf dem angegebenen Knoten nicht ausgeführt. |
JobReleaseTaskNotRunOnNode | Nicht gefunden (404) | Der Auftragsfreigabetask wurde auf dem angegebenen Knoten nicht ausgeführt. |
NodeAgentSKUNotFound | Nicht gefunden (404) | Die angegebene Knoten-Agent-SKU ist nicht vorhanden. |
OperationInvalidForCurrentState | Konflikt (409) | Der angegebene Vorgang ist für den aktuellen Status der Ressource nicht zulässig. |
PoolBeingDeleted | Konflikt (409) | Der angegebene Pool wurde zum Löschen markiert und wird freigegeben. |
PoolBeingResized | Konflikt (409) | Die Größe des angegebenen Pools wird geändert. |
PoolBeingCreated | Konflikt (409) | Der angegebene Pool wird erstellt. |
NodeBeingCreated | Konflikt (409) | Der angegebene Knoten wird erstellt. |
NodeBeingStarted | Konflikt (409) | Der angegebene Knoten wird gestartet. |
NodeBeingReimaged | Konflikt (409) | Für den angegebenen Knoten wird ein Neuerimage erstellt. |
NodeBeingRebooted | Konflikt (409) | Der angegebene Knoten wird neu gestartet. |
NodeStateUnusable | Konflikt (409) | Der Status des angegebenen Knotens kann nicht verwendet werden. |
JobScheduleBeingTerminated | Konflikt (409) | Der angegebene Auftragszeitplan wird beendet. |
JobScheduleBeingDeleted | Konflikt (409) | Der angegebene Auftragszeitplan wurde zum Löschen markiert und wird wieder freigegeben. |
CertificateBeingDeleted | Konflikt (409) | Das angegebene Zertifikat wurde zum Löschen markiert und wird gelöscht. |
PoolExists | Konflikt (409) | Der angegebene Pool ist bereits vorhanden. |
JobScheduleExists | Konflikt (409) | Der angegebene Auftragszeitplan ist bereits vorhanden. |
NodeUserExists | Konflikt (409) | Der angegebene Knotenbenutzer ist bereits vorhanden. |
JobExists | Konflikt (409) | Der angegebene Auftrag ist bereits vorhanden. |
NodeUserExists | Konflikt (409) | Der angegebene Knotenbenutzer ist bereits vorhanden. |
CertificateExists | Konflikt (409) | Das angegebene Zertifikat ist bereits vorhanden. |
JobScheduleDisabled | Konflikt (409) | Der angegebene Auftragszeitplan ist deaktiviert. |
JobScheduleCompleted | Konflikt (409) | Der angegebene Auftragszeitplan befindet sich bereits im Status Abgeschlossen. |
JobBeingTerminated | Konflikt (409) | Der angegebene Auftrag wird beendet. |
JobBeingDeleted | Konflikt (409) | Der angegebene Auftrag wurde zum Löschen markiert, und es wird eine Garbage Collection für ihn ausgeführt. |
JobDisabled | Konflikt (409) | Der angegebene Auftrag ist deaktiviert. |
JobCompleted | Konflikt (409) | Der angegebene Auftrag hat bereits den Status "Abgeschlossen". |
JobNotActive | Konflikt (409) | Der angegebene Auftrag ist nicht aktiv. |
TaskExists | Konflikt (409) | Die angegebene Aufgabe ist bereits vorhanden. |
TaskCompleted | Konflikt (409) | Die angegebene Aufgabe hat bereits den Status "Abgeschlossen". |
TaskNotCompleted | Konflikt (409) | Die angegebene Aufgabe befindet sich nicht im Status Abgeschlossen, und der angeforderte Vorgang kann nur für abgeschlossene Aufgaben ausgeführt werden. |
TaskSucceed | Konflikt (409) | Die angegebene Aufgabe wurde bereits erfolgreich abgeschlossen, und der angeforderte Vorgang kann bei erfolgreichen Aufgaben nicht ausgeführt werden. |
TaskFilesUnavailable | Konflikt (409) | Die Dateien der angegebenen Aufgabe sind nicht verfügbar. |
TaskFilesCleanedup | Konflikt (409) | Die Dateien der angegebenen Aufgabe sind bereinigt. |
ActiveJobAndScheduleQuotaReached | Konflikt (409) | Das aktive Auftrags- und Zeitplankontingent für das Konto wurde erreicht. |
PoolQuotaReached | Konflikt (409) | Das Poolkontingent für das Konto wurde erreicht. |
UpgradePoolVersionConflict | Konflikt (409) | Der Pool wird bereits auf eine andere Version aktualisiert. |
JobPreparationTaskNotSpecified | Konflikt (409) | Der angegebene Auftrag verfügt nicht über eine Auftragsvorbereitungsaufgabe. |
JobReleaseTaskNotSpecified | Konflikt (409) | Der angegebene Auftrag verfügt nicht über einen Auftragsfreigabetask. |
TaskIdSameAsJobPreparationTask | Konflikt (409) | Die angegebene Vorgangs-ID ist identisch mit der Auftragsvorbereitungsaufgabe. |
TaskIdSameAsJobReleaseTask | Konflikt (409) | Die angegebene Aufgaben-ID ist identisch mit dem Auftragsfreigabetask. |
JobWithSameIdExists | Konflikt (409) | Ein Auftrag mit der angegebenen Auftragszeitplan-ID ist vorhanden. Auftrag und Auftragszeitplan können nicht dieselbe ID aufweisen. |
JobScheduleWithSameIdExists | Konflikt (409) | Ein Auftragszeitplan mit der angegebenen Auftrags-ID ist vorhanden. Auftrag und Auftragszeitplan können nicht dieselbe ID aufweisen. |
NodeAlreadyInTargetSchedulingState | Konflikt (409) | Der angegebene Knoten befindet sich bereits im Zielzeitplanungszustand. |
OperationNotValidOnNode | Konflikt (409) | Der angegebene Vorgang ist auf dem Knoten ungültig. |
OperationNotValidOnPool | Konflikt (409) | Der angegebene Vorgang ist für den Pool ungültig. |
IOError | Unzulässig (403) | Beim Zugriff auf die angegebene Ressource ist ein E/A-Fehler aufgetreten. |
TooManyEnableAutoScaleRequests | ServiceUnavailable (503) | Im Pool werden zu viele Anforderungen zum Aktivieren der automatischen Skalierung von Pools ausgegeben. |
ApplicationNotFound | Nicht gefunden (404) | Die angegebene Anwendung ist nicht vorhanden. |
InvalidApplicationPackageReferences | Konflikt (409) | Mindestens ein Anwendungspaketverweise konnte nicht erfüllt werden. Dies tritt auf, wenn die Anwendungs-ID oder -Version nicht vorhanden oder nicht aktiv ist oder wenn der Verweis keine Version angegeben hat und keine Standardversion konfiguriert ist. |
TaskDependenciesNotSpecifiedOnJob | Ungültige Anforderung (400) | Eine Aufgabe wurde als abhängig von anderen Aufgaben angegeben, aber der Auftrag hat nicht angegeben, dass er Aufgabenabhängigkeiten verwenden würde. |
TaskDependencyListTooLong | Ungültige Anforderung (400) | Eine Aufgabe wurde als abhängig von anderen Aufgaben angegeben, aber die Liste der Abhängigkeiten war zu lang, um gespeichert zu werden. Die gesamt gespeicherte Länge ist auf 64.000 Zeichen beschränkt; Die Gesamtlänge der Aufgaben-ID muss etwas kleiner sein, um internen Speicheraufwand zu ermöglichen. Wenn dieser Fehler auftritt, sollten Sie stattdessen Aufgabenbereichabhängigkeiten verwenden. |
TaskDependencyRangesTooLong | Ungültige Anforderung (400) | Eine Aufgabe wurde als abhängig von mehreren Bereichen von Aufgaben-ID angegeben, und die Liste der Bereiche war zu lang, um gespeichert zu werden. Beachten Sie, dass das Problem nicht bei der Größe von Bereichen, sondern bei der Anzahl von Bereichen liegt. |
Fehlercodes für die Planung von Aufträgen/Aufgaben
Wenn beim Starten einer Aufgabe auf einem Knoten ein Fehler auftritt, wird die Aufgabe als abgeschlossen markiert. Die Fehlerinformationen werden innerhalb eines failureInfo
Elements im Antworttext von List the files associated to a task and Get information about a task APIs zurückgegeben.
Der Batch-Dienst markiert den Auftrag auch als "Abgeschlossen", wenn er beim Starten des Auftrags einen Fehler erkennt. Diese Planungsfehlerinformationen werden innerhalb eines schedulingError
Elements im Antworttext von Get information about a job in Batch APIs zurückgegeben.
Die folgende Tabelle enthält die Liste der Kategorien für Auftragsplanungsfehler.
Category | BESCHREIBUNG |
---|---|
UserError | Fehler in der Aufgabenspezifikation, die der Benutzer bereitgestellt hat. |
ServerError | Im Batch-Dienst aufgetretene Fehler, die verhindern, dass er die Aufgabe planen kann. |
Im Folgenden finden Sie einen Beispielfehler bei der Vorverarbeitung, der vom Batch-Dienst zurückgegeben wird.
{
"preProcessingError": {
"category": "UserError",
"code": "BlobNotFound",
"message": "The specified blob does not exist.",
"values": {
"name": "FilePath",
"value": "myfile.txt"
}
}
}
Die folgende Tabelle enthält die Liste der Fehlercodes für die Auftragsplanung, die möglicherweise vom Batch-Dienst zurückgegeben werden.
Fehlercode | Category | Meldung für den Benutzer |
---|---|---|
InvalidCertificatesInAutoPool | UserError | Die Zertifikatsverweise, die in der Spezifikation des automatischen Pools angegeben sind, sind ungültig. |
AutoPoolCreationFailedWithQuotaReached | UserError | Das Poolkontingent für das Konto ist erreicht. |
InvalidApplicationPackageReferencesInAutoPool | UserError | Mindestens ein für den Pool angegebenes Anwendungspaket ist ungültig. |
InvalidAutoScaleFormulaInAutoPool | UserError | Die angegebenen Einstellungen für automatische Skalierung sind ungültig. |
InvalidAutoPoolSettings | UserError | Die angegebenen Einstellungen für den automatischen Pool sind ungültig. |
JobBeingTerminated | UserError | Die Aufgabe kann nicht gestartet werden, da der zugeordnete Auftrag beendet wird. |
Unbekannt | ServerError | Ein unbekannter Terminplanungsfehler ist aufgetreten. |
Die folgende Tabelle enthält eine Liste der Fehlercodes für die Aufgabenplanung, die möglicherweise vom Batch-Dienst zurückgegeben werden.
Fehlercode | Category | Meldung für den Benutzer |
---|---|---|
BlobNotFound | UserError | Eines der angegebenen Azure-Blobs wurde nicht gefunden. |
BlobAccessDenied | UserError | Der Zugriff auf eines der angegebenen Azure-Blobs wird verweigert. |
BlobDownloadTimedOut | ServerError | Timeout beim Herunterladen eines der angegebenen Azure-Blobs. |
BlobDownloadMiscError | ServerError | Beim Herunterladen eines der angegebenen Azure-Blobs ist ein sonstiger Fehler aufgetreten. |
ResourceDirectoryCreateFailed | ServerError | Fehler beim Erstellen eines Ressourcenverzeichnisses für den Task. |
ResourceFileCreateFailed | ServerError | Fehler beim Erstellen einer Ressourcendatei. |
ResourceFileWriteFailed | ServerError | Fehler beim Schreiben der Ressourcendatei. |
CommandProgramNotFound | UserError | Das angegebene Befehlsprogramm wurde nicht gefunden. |
CommandLaunchFailed | UserError | Fehler beim Starten der angegebenen Befehlszeile. |
TaskEnded | UserError | Die Aufgabe wurde durch Benutzeranforderung beendet. |
MaxInternalRetryCountReached | UserError | Die angegebene Aufgabe hat die maximale anzahl interner Wiederholungen erreicht. |
TaskSchedulingConstraintFailed | UserError | Aufgabe kann nicht für den Pool geplant werden, der dem Auftrag zugeordnet ist |
DiskFull | ServerError | Auf dem Knoten, der zum Ausführen der Aufgabe ausgewählt wurde, ist nicht genügend Speicherplatz vorhanden. |
Unbekannt | ServerError | Ein unbekannter Terminplanungsfehler ist aufgetreten. |