Kody stanu i błędów wsadowych

Operacje interfejsu API REST dla usługi Batch zwracają standardowe kody stanu HTTP zdefiniowane w definicjach kodu stanu HTTP/1.1.

Operacje interfejsu API mogą również zwracać dodatkowe informacje o błędach, aby dostarczyć deweloperowi więcej informacji o błędzie. Na przykład następująca odpowiedź o błędzie wskazuje, że parametr zapytania określony w identyfikatorze URI żądania jest nieprawidłowy i zawiera dodatkowe informacje o nazwie i wartości nieprawidłowego parametru oraz przyczynie błędu.

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

W poniższych sekcjach przedstawiono listę kodów błędów dla usługi Batch:

Typowe kody błędów interfejsu API REST

Kody błędów wymienione w poniższej tabeli mogą być zwracane przez operację w usłudze Batch.

Kod błędu Kod stanu HTTP Komunikat użytkownika
ConditionNotMet Nie zmodyfikowano (304) Warunek określony w nagłówkach warunkowych nie został spełniony dla operacji odczytu.
MissingRequiredHeader Nieprawidłowe żądanie (400) Nie określono wymaganego nagłówka HTTP.
MissingRequiredProperty Nieprawidłowe żądanie (400) Wymagana właściwość nie została określona w treści żądania.
Nieobsługiwany nagłówek Nieprawidłowe żądanie (400) Jeden z nagłówków HTTP określonych w żądaniu nie jest obsługiwany.
Nieobsługiwana właściwość Nieprawidłowe żądanie (400) Jedna z właściwości określonych w treści żądania nie jest obsługiwana.
InvalidHeaderValue Nieprawidłowe żądanie (400) Wartość podana dla jednego z nagłówków HTTP nie ma poprawnego formatu.
InvalidPropertyValue Nieprawidłowe żądanie (400) Wartość podana dla jednej z właściwości w treści żądania jest nieprawidłowa.
MissingRequiredQueryParameter Nieprawidłowe żądanie (400) Dla tego żądania nie określono wymaganego parametru zapytania.
Nieobsługiwaneparametryquery Nieprawidłowe żądanie (400) Jeden z parametrów zapytania określonych w identyfikatorze URI żądania nie jest obsługiwany.
InvalidQueryParameterValue Nieprawidłowe żądanie (400) Określono nieprawidłową wartość dla jednego z parametrów zapytania w identyfikatorze URI żądania.
OutOfRangeQueryParameterValue Nieprawidłowe żądanie (400) Parametr zapytania określony w identyfikatorze URI żądania znajduje się poza dopuszczalnym zakresem.
RequestUrlFailedToParse Nieprawidłowe żądanie (400) Nie można przeanalizować adresu URL w żądaniu.
InvalidUri Nieprawidłowe żądanie (400) Żądany identyfikator URI nie reprezentuje żadnego zasobu na serwerze.
InvalidHttpVerb Nieprawidłowe żądanie (400) Określony czasownik HTTP nie został rozpoznany przez serwer.
EmptyMetadataKey Nieprawidłowe żądanie (400) Klucz jednej z par klucz-wartość metadanych jest pusty.
InvalidRequestBody Nieprawidłowe żądanie (400) Określona treść żądania nie jest prawidłowa składniowo.
OutOfRangeInput Nieprawidłowe żądanie (400) Jedno z danych wejściowych żądania jest poza zakresem.
InvalidAuthenticationInfo Nieprawidłowe żądanie (400) Informacje o uwierzytelnianiu nie zostały podane w poprawnym formacie. Sprawdź wartość nagłówka autoryzacji .
InvalidInput Nieprawidłowe żądanie (400) Jedno z danych wejściowych żądania jest nieprawidłowe.
InvalidMetadata Nieprawidłowe żądanie (400) Określone metadane są nieprawidłowe. Zawiera ona niedozwolone znaki.
MetadataTooLarge Nieprawidłowe żądanie (400) Rozmiar określonych metadanych przekracza dozwolony maksymalny rozmiar.
MultipleConditionHeadersNotSupported Nieprawidłowe żądanie (400) Wiele nagłówków warunku nie jest obsługiwanych.
AuthenticationFailed Zabronione (403) Serwer nie może uwierzytelnić żądania. Sprawdź, czy wartość nagłówka autoryzacji jest poprawnie sformułowana i zawiera podpis.
InsufficientAccountPermissions Zabronione (403) Dostęp do konta nie ma wystarczających uprawnień do wykonania tej operacji.
AccountIsDisabled Zabronione (403) Określone konto jest wyłączone.
ResourceNotFound Nie znaleziono (404) Określony zasób nie istnieje.
NieobsługiwaneHttpVerb Niedozwolona metoda (405) Zasób nie obsługuje określonego zlecenia HTTP.
MissingContentLengthHeader Wymagana długość (411) Nie określono nagłówka Content-Length .
ConditionNotMet Warunek wstępny nie powiódł się (412) Warunek określony w nagłówkach warunkowych nie został spełniony dla operacji zapisu.
RequestBodyTooLarge Zbyt duża jednostka żądania (413) Rozmiar treści żądania przekracza dozwolony maksymalny rozmiar.
InvalidRange Żądany zakres nie jest satyfiable (416) Określony zakres jest nieprawidłowy dla bieżącego rozmiaru zasobu.
InternalError Wewnętrzny błąd serwera (500) Serwer napotkał błąd wewnętrzny. Ponów próbę żądania.
OperationTimedOut Wewnętrzny błąd serwera (500) Nie można ukończyć operacji w dozwolonym czasie.
ServerBusy Usługa niedostępna (503) Serwer nie może obecnie odbierać żądań. Ponów próbę żądania.

Kody błędów usługi Batch

Kody błędów wymienione w poniższej tabeli mogą być zwracane przez operację w usłudze Batch.

Kod błędu Kod stanu HTTP Komunikat użytkownika
Nieobsługiwana wersjaRequestVersion BadRequest (400) Określona wersja żądania nie jest obsługiwana.
InvalidAutoScalingSettings BadRequest (400) Określone ustawienia automatycznego skalowania są nieprawidłowe.
AutoScalingFormulaSyntaxError BadRequest (400) Określona formuła automatycznego skalowania ma błąd składniowy.
AutoSkalowanieFormulaTooLong BadRequest (400) Określona formuła automatycznego skalowania przekracza limit długości.
OSVersionNotFound BadRequest (400) Określona wersja systemu operacyjnego nie istnieje.
OSVersionDisabled BadRequest (400) Określona wersja systemu operacyjnego jest wyłączona.
OSVersionExpired BadRequest (400) Określona wersja systemu operacyjnego wygasła.
PoolVersionEqualsUpgradeVersion BadRequest (400) Pula jest już w danej wersji.
PoolNotEligibleForOSVersionUpgrade BadRequest (400) Określona pula nie kwalifikuje się do uaktualnienia wersji systemu operacyjnego.
PoolNotFound NotFound (404) Określona pula nie istnieje.
NodeNotFound NotFound (404) Określony węzeł nie istnieje.
JobScheduleNotFound NotFound (404) Określony harmonogram zadań nie istnieje.
JobNotFound NotFound (404) Określone zadanie nie istnieje.
TaskNotFound NotFound (404) Określone zadanie nie istnieje.
FileNotFound NotFound (404) Określony plik nie istnieje.
NodeUserNotFound NotFound (404) Określony użytkownik węzła nie istnieje.
CertificateNotFound NotFound (404) Określony certyfikat nie istnieje.
JobPreparationTaskNotRunOnNode NotFound (404) Zadanie przygotowania zadania nie zostało uruchomione w określonym węźle.
JobReleaseTaskNotRunOnNode NotFound (404) Zadanie wydania zadania nie zostało uruchomione w określonym węźle.
NodeAgentSKUNotFound NotFound (404) Określona jednostka SKU agenta węzła nie istnieje.
OperationInvalidForCurrentState Konflikt (409) Określona operacja jest nieprawidłowa dla bieżącego stanu zasobu.
PoolBeingDeleted Konflikt (409) Określona pula została oznaczona do usunięcia i jest odzyskiwana.
PulaBeingResized Konflikt (409) Rozmiar określonej puli jest zmieniany
PoolBeingCreated Konflikt (409) Tworzona jest określona pula.
NodeBeingCreated Konflikt (409) Tworzony jest określony węzeł
NodeBeingStarted Konflikt (409) Trwa uruchamianie określonego węzła
NodeBeingReimaged Konflikt (409) Określony węzeł jest odtwarzany z obrazu
NodeBeingRebooted Konflikt (409) Określony węzeł jest ponownie uruchamiany
NodeStateUnusable Konflikt (409) Stan określonego węzła jest bezużyteczny
ZadanieScheduleBeingTerminated Konflikt (409) Określony harmonogram zadań jest przerywany.
ZadanieScheduleBeingDeleted Konflikt (409) Określony harmonogram zadań został oznaczony do usunięcia i jest odzyskiwany.
CertificateBeingDeleted Konflikt (409) Określony certyfikat został oznaczony do usunięcia i jest usuwany.
PoolExists Konflikt (409) Określona pula już istnieje.
JobScheduleExists Konflikt (409) Określony harmonogram zadań już istnieje.
NodeUserExists Konflikt (409) Określony użytkownik węzła już istnieje.
JobExists Konflikt (409) Określone zadanie już istnieje.
NodeUserExists Konflikt (409) Określony użytkownik węzła już istnieje.
CertificateExists Konflikt (409) Określony certyfikat już istnieje.
JobScheduleDisabled Konflikt (409) Określony harmonogram zadań jest wyłączony.
JobScheduleCompleted Konflikt (409) Określony harmonogram zadań jest już w stanie ukończonym.
JobBeingTerminated Konflikt (409) Określone zadanie jest przerywane.
ZadanieBeingDeleted Konflikt (409) Określone zadanie zostało oznaczone do usunięcia i jest wyrzucane śmieci.
JobDisabled Konflikt (409) Określone zadanie jest wyłączone.
Zadanie zapełnione Konflikt (409) Określone zadanie jest już w stanie ukończonym.
JobNotActive Konflikt (409) Określone zadanie nie jest w stanie aktywnym.
TaskExists Konflikt (409) Określone zadanie już istnieje.
Zadanie uzupełnianie Konflikt (409) Określone zadanie jest już w stanie ukończonym.
TaskNotCompleted Konflikt (409) Określone zadanie nie jest w stanie ukończonym, a żądana operacja może być wykonywana tylko na ukończonych zadaniach.
Zadanieoocceeded Konflikt (409) Określone zadanie zostało już ukończone pomyślnie i nie można wykonać żądanej operacji na pomyślnych zadaniach.
TaskFilesUnavailable Konflikt (409) Pliki określonego zadania są niedostępne.
TaskFilesCleanedup Konflikt (409) Pliki określonego zadania są czyszczone.
ActiveJobAndScheduleQuotaReached Konflikt (409) Osiągnięto aktywny przydział zadań i harmonogramu dla konta.
PoolQuotaReached Konflikt (409) Osiągnięto limit przydziału puli dla konta.
UpgradePoolVersionConflict Konflikt (409) Pula jest już uaktualniona do innej wersji.
JobPreparationTaskNotSpecified Konflikt (409) Określone zadanie nie ma zadania podrzędnego przygotowania zadania.
JobReleaseTaskNotSpecified Konflikt (409) Określone zadanie nie ma zadania zwolnienia zadania.
TaskIdSameAsJobPreparationTask Konflikt (409) Określony identyfikator zadania jest taki sam jak zadanie podrzędne przygotowania zadania.
TaskIdSameAsJobReleaseTask Konflikt (409) Określony identyfikator zadania jest taki sam jak zadanie wydania zadania.
JobWithSameIdExists Konflikt (409) Istnieje zadanie o określonym identyfikatorze harmonogramu zadań. Harmonogram zadań i zadań nie może mieć tego samego identyfikatora.
JobScheduleWithSameIdExists Konflikt (409) Istnieje harmonogram zadań o określonym identyfikatorze zadania. Harmonogram zadań i zadań nie może mieć tego samego identyfikatora.
NodeAlreadyInTargetSchedulingState Konflikt (409) Określony węzeł jest już w stanie planowania docelowego.
OperationNotValidOnNode Konflikt (409) Określona operacja jest nieprawidłowa w węźle.
OperationNotValidOnPool Konflikt (409) Określona operacja jest nieprawidłowa w puli.
Ioerror Zabronione (403) Wystąpił błąd we/wy podczas uzyskiwania dostępu do określonego zasobu.
TooManyEnableAutoScaleRequests ServiceUnavailable (503) Zbyt wiele żądań włączania automatycznego skalowania puli jest wystawianych w puli.
ApplicationNotFound Nie znaleziono (404) Określona aplikacja nie istnieje.
InvalidApplicationPackageReferences Konflikt (409) Nie można spełnić co najmniej jednego odwołania do pakietu aplikacji. Dzieje się tak, jeśli identyfikator lub wersja aplikacji nie istnieje lub nie jest aktywna lub jeśli odwołanie nie określiło wersji i nie skonfigurowano wersji domyślnej.
TaskDependenciesNotSpecifiedOnJob Nieprawidłowe żądanie (400) Zadanie zostało określone w zależności od innych zadań, ale zadanie nie określiło, że będzie używać zależności zadań.
TaskDependencyListTooLong Nieprawidłowe żądanie (400) Zadanie zostało określone w zależności od innych zadań, ale lista zależności była zbyt długa, aby być przechowywana. Łączna długość składowana jest ograniczona do 64000 znaków; łączna długość identyfikatorów zadań musi być nieco mniejsza, aby umożliwić obciążenie magazynu wewnętrznego. Jeśli wystąpi ten błąd, rozważ użycie zależności zakresu zadań.
TaskDependencyRangesTooLong Nieprawidłowe żądanie (400) Zadanie zostało określone w zależności od wielu zakresów identyfikatorów zadań, a lista zakresów była zbyt długa, aby być przechowywana. Należy pamiętać, że problem nie dotyczy rozmiaru zakresów, ale z liczbą zakresów.

Kody błędów planowania zadań/zadań

Jeśli usługa Batch napotka błąd podczas uruchamiania zadania w węźle, oznacza to zadanie jako ukończone. Informacje o błędzie są zwracane w obrębie failureInfo elementu w treści odpowiedzi Listy plików skojarzonych z zadaniem i Uzyskiwanie informacji o interfejsach API zadań .

Podobnie jeśli usługa Batch napotka błąd podczas uruchamiania zadania, oznacza to zadanie jako ukończone. Te informacje o błędach planowania są zwracane w obrębie schedulingError elementu w treści odpowiedzi w sekcji Pobieranie informacji o zadaniu w interfejsach API usługi Batch.

Poniższa tabela zawiera listę kategorii błędów planowania zadań.

Kategoria Opis
UserError Błędy w specyfikacji zadania udostępnionej przez użytkownika.
Błąd serwera Błędy napotkane przez usługę Batch, które uniemożliwiają zaplanowanie zadania.

Poniżej przedstawiono przykładowy błąd przetwarzania wstępnego zwrócony przez usługę Batch.

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

Poniższa tabela zawiera listę kodów błędów planowania zadań, które mogą być zwracane przez usługę Batch.

Kod błędu Kategoria Komunikat użytkownika
InvalidCertificatesInAutoPool UserError Określone odwołania do certyfikatu w specyfikacji puli automatycznej są nieprawidłowe.
AutoPoolCreationFailedWithQuotaReached UserError Osiągnięto limit przydziału puli dla konta.
InvalidApplicationPackageReferencesInAutoPool UserError Co najmniej jeden pakiet aplikacji określony dla puli jest nieprawidłowy.
InvalidAutoScaleFormulaInAutoPool UserError Określone ustawienia automatycznego skalowania są nieprawidłowe.
InvalidAutoPoolSettings UserError Określone ustawienia puli automatycznej są nieprawidłowe.
JobBeingTerminated UserError Nie można uruchomić zadania, ponieważ skojarzone zadanie jest przerywane.
Nieznane Błąd serwera Wystąpił nieznany błąd planowania.

Poniższa tabela zawiera listę kodów błędów planowania zadań, które mogą być zwracane przez usługę Batch.

Kod błędu Kategoria Komunikat użytkownika
BlobNotFound UserError Nie można odnaleźć jednego z określonych obiektów blob platformy Azure.
BlobAccessDenied UserError Odmowa dostępu do jednego z określonych obiektów blob platformy Azure.
BlobDownloadTimedOut Błąd serwera Napotkano limit czasu podczas pobierania jednego z określonych obiektów blob platformy Azure.
BlobDownloadMiscError Błąd serwera Wystąpił inny błąd podczas pobierania jednego z określonych obiektów blob platformy Azure.
ResourceDirectoryCreateFailed Błąd serwera Wystąpił błąd podczas tworzenia katalogu zasobów dla zadania.
ResourceFileCreateFailed Błąd serwera Napotkano błąd podczas tworzenia pliku zasobu.
ResourceFileWriteFailed Błąd serwera Napotkano błąd podczas zapisywania pliku zasobów.
CommandProgramNotFound Błąd użytkownika Nie można odnaleźć określonego programu poleceń.
CommandLaunchFailed Błąd użytkownika Nie można uruchomić określonego wiersza polecenia.
Zadanieended Błąd użytkownika Zadanie zostało zakończone przez żądanie użytkownika.
MaxInternalRetryCountReached Błąd użytkownika Określone zadanie osiągnęło maksymalną wewnętrzną liczbę ponownych prób.
TaskSchedulingConstraintFailed Błąd użytkownika Nie można zaplanować zadania w puli skojarzonej z zadaniem
DiskFull Błąd serwera Za mało miejsca na dysku w węźle, który został wybrany do uruchomienia zadania.
Nieznane Błąd serwera Wystąpił nieznany błąd planowania.