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. |