Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Операции REST API для пакетной службы возвращают стандартные коды состояния HTTP, как определено в определениях кода состояния HTTP/1.1.
Операции API могут также возвращать дополнительные сведения об ошибке, чтобы предоставить разработчику больше информации об ошибке. Например, следующий ответ со сведениями об ошибке сообщает, что параметр запроса, указанный в URI запроса, был недопустимым, и предоставляет дополнительные сведения о недопустимом имени и значении параметра и причине ошибки.
{
"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"
}]
}
В следующих разделах приведены списки кодов ошибок для пакетной службы.
Общие коды ошибок API-интерфейса REST
Коды ошибок, перечисленные в следующей таблице, могут быть возвращены операцией, выполненной в пакетной службе.
| Код ошибки | Код состояния HTTP | Сообщение для пользователя |
|---|---|---|
| ConditionNotMet | Не изменено (304) | Условие, указанное в заголовках условий, не выполнено для считываемой операции. |
| MissingRequiredHeader | Неправильный запрос (400) | Не указан обязательный заголовок HTTP. |
| MissingRequiredProperty | Неправильный запрос (400) | В тексте запроса не указано обязательное свойство. |
| UnsupportedHeader | Неправильный запрос (400) | Не поддерживается один из указанных заголовков HTTP в запросе. |
| UnsupportedProperty | Неправильный запрос (400) | Одно из свойств, указанных в тексте запроса, не поддерживается. |
| InvalidHeaderValue | Неправильный запрос (400) | Значение одного из заголовков HTTP было указано в неверном формате. |
| InvalidPropertyValue | Неправильный запрос (400) | Недопустимое значение одного из свойств в тексте запроса. |
| MissingRequiredQueryParameter | Неправильный запрос (400) | Обязательный параметр запроса не был указан для этого запроса. |
| UnsupportedQueryParameter | Неправильный запрос (400) | Не поддерживается один из параметров запроса, указанных в URI запроса. |
| InvalidQueryParameterValue | Неправильный запрос (400) | У одного из параметров запроса в URI запроса было указано недопустимое значение. |
| OutOfRangeQueryParameterValue | Неправильный запрос (400) | Параметр запроса, указанный в URI запроса, находится за пределами допустимого диапазона. |
| RequestUrlFailedToParse | Неправильный запрос (400) | Не удалось выполнить синтаксический анализ URL-адреса в запросе. |
| InvalidUri | Неправильный запрос (400) | Запрошенный URI не представляет ни одного из ресурсов на сервере. |
| InvalidHttpVerb | Неправильный запрос (400) | Указанная HTTP-команда не была распознана сервером. |
| EmptyMetadataKey | Неправильный запрос (400) | Пустой ключ в одной из пар «ключ-значение» метаданных. |
| InvalidRequestBody | Неправильный запрос (400) | Указанный текст запроса имеет недопустимый синтаксис. |
| OutOfRangeInput | Неправильный запрос (400) | Некоторые из входных данных запроса выходят за пределы допустимого диапазона. |
| InvalidAuthenticationInfo | Неправильный запрос (400) | Сведения о проверке подлинности представлены в недопустимом формате. Проверьте значение заголовка авторизации . |
| InvalidInput | Неправильный запрос (400) | Недопустимые входные данные в запросе. |
| InvalidMetadata | Неправильный запрос (400) | Указанные метаданные являются недопустимыми. Они содержат запрещенные символы. |
| MetadataTooLarge | Неправильный запрос (400) | Размер указанных метаданных превышает максимально допустимый размер. |
| MultipleConditionHeadersNotSupported | Неправильный запрос (400) | Несколько из заголовков условий не поддерживаются. |
| AuthenticationFailed | Запрещено (403) | Серверу не удалось проверить подлинность запроса. Убедитесь, что значение заголовка авторизации правильно сформировано и содержит сигнатуру. |
| InsufficientAccountPermissions | Запрещено (403) | Учетная запись, к которой выполняется обращение, имеет недостаточно разрешений на выполнение этой операции. |
| AccountIsDisabled | Запрещено (403) | Учетная запись отключена. |
| ResourceNotFound | Не найдено (404) | Указанный ресурс не существует. |
| UnsupportedHttpVerb | Метод не разрешен (405) | Ресурс не поддерживает указанная HTTP-команда. |
| MissingContentLengthHeader | Требуется длина (411) | Заголовок Content-Length не указан. |
| ConditionNotMet | Не выполняется обязательное условие (412) | Условие, указанное в заголовках условий, не выполняется для операции записи. |
| RequestBodyTooLarge | Слишком большая сущность запроса (413) | Размер текста запроса превышает максимально допустимый размер. |
| InvalidRange | Запрошенный диапазон невыполним (416) | Указанный диапазон недопустим для текущего размера ресурса. |
| InternalError | Внутренняя ошибка сервера (500) | Сервер обнаружил внутреннюю ошибку. Повторите запрос. |
| OperationTimedOut | Внутренняя ошибка сервера (500) | Не удалось выполнить операцию за отведенное время. |
| ServerBusy | Служба недоступна (503) | Серверу не удается получить запросы. Повторите запрос. |
Коды ошибок пакетной службы
Коды ошибок, перечисленные в следующей таблице, могут быть возвращены операцией, выполненной в пакетной службе.
| Код ошибки | Код состояния HTTP | Сообщение для пользователя |
|---|---|---|
| UnsupportedRequestVersion | BadRequest (400) | Указанная версия запроса не поддерживается. |
| InvalidAutoScalingSettings | BadRequest (400) | Указаны недопустимые параметры автоматического масштабирования. |
| AutoScalingFormulaSyntaxError | BadRequest (400) | В указанной формуле автоматического масштабирования есть синтаксическая ошибка. |
| AutoScalingFormulaTooLong | BadRequest (400) | Указанная формула автоматического масштабирования превышает ограничение на длину. |
| OSVersionNotFound | BadRequest (400) | Указанная версия операционной системы не существует. |
| OSVersionDisabled | BadRequest (400) | Указанная версия операционной системы отключена. |
| OSVersionExpired | BadRequest (400) | Срок действия указанной версии операционной системы истек. |
| PoolVersionEqualsUpgradeVersion | BadRequest (400) | Пул уже имеет указанную версию. |
| PoolNotEligibleForOSVersionUpgrade | BadRequest (400) | Указанный пул не подходит для обновления версии ОС. |
| PoolNotFound | NotFound (404) | Указанный пул не существует. |
| NodeNotFound | NotFound (404) | Указанный узел не существует. |
| JobScheduleNotFound | NotFound (404) | Указанное расписание задания не существует. |
| JobNotFound | NotFound (404) | Указанное задание не существует. |
| TaskNotFound | NotFound (404) | Указанная задача не существует. |
| FileNotFound | NotFound (404) | Указанный файл не существует. |
| NodeUserNotFound | NotFound (404) | Указанный пользователь узла не существует. |
| CertificateNotFound | NotFound (404) | Указанный сертификат не существует. |
| JobPreparationTaskNotRunOnNode | NotFound (404) | Задача подготовки задания не выполнялась на указанном узле. |
| JobReleaseTaskNotRunOnNode | NotFound (404) | Задача выпуска задания не выполнялась на указанном узле. |
| NodeAgentSKUNotFound | NotFound (404) | Указанный номер SKU агента узла не существует. |
| OperationInvalidForCurrentState | Конфликт (409) | Указанная операция недопустима для текущего состояния ресурса. |
| PoolBeingDeleted | Конфликт (409) | Указанный пул была помечен для удаления и освобождается. |
| PoolBeingResized | Конфликт (409) | Размер указанного пула изменяется. |
| PoolBeingCreated | Конфликт (409) | Указанный пул создается. |
| NodeBeingCreated | Конфликт (409) | Создается указанный узел |
| NodeBeingStarted | Конфликт (409) | Запускается указанный узел |
| NodeBeingReimaged | Конфликт (409) | Переосмыслен указанный узел |
| NodeBeingRebooted | Конфликт (409) | Указанный узел перезагружается |
| NodeStateUnusable | Конфликт (409) | Состояние указанного узла непригодным для использования |
| JobScheduleBeingTerminated | Конфликт (409) | Указанное расписание задания завершается. |
| JobScheduleBeingDeleted | Конфликт (409) | Указанное расписание задания помечено для удаления и освобождается. |
| CertificateBeingDeleted | Конфликт (409) | Указанный сертификат был помечен для удаления и удаляется. |
| PoolExists | Конфликт (409) | Указанный пул уже существует. |
| JobScheduleExists | Конфликт (409) | Указанное расписание задания уже существует. |
| NodeUserExists | Конфликт (409) | Указанный пользователь узла уже существует. |
| JobExists | Конфликт (409) | Указанное задание уже существует. |
| NodeUserExists | Конфликт (409) | Указанный пользователь узла уже существует. |
| CertificateExists | Конфликт (409) | Указанный сертификат уже существует. |
| JobScheduleDisabled | Конфликт (409) | Указанное расписание задания отключено. |
| JobScheduleCompleted | Конфликт (409) | Указанное расписание задания уже находится в состоянии завершения. |
| JobBeingTerminated | Конфликт (409) | Указанное задание прекращается. |
| JobBeingDeleted | Конфликт (409) | Указанное задание было помечено для удаления и обрабатывается сборщиком мусора. |
| JobDisabled | Конфликт (409) | Указанное задание отключено. |
| JobCompleted | Конфликт (409) | Указанное задание уже завершено. |
| JobNotActive | Конфликт (409) | Указанное задание не находится в активном состоянии. |
| TaskExists | Конфликт (409) | Указанная задача уже существует. |
| TaskCompleted | Конфликт (409) | Указанная задача уже завершена. |
| TaskNotCompleted | Конфликт (409) | Указанная задача не находится в состоянии завершения, и запрошенная операция может быть выполнена только для завершенных задач. |
| TaskSucceeded | Конфликт (409) | Указанная задача уже успешно завершена, и запрошенная операция не может быть выполнена для успешных задач. |
| TaskFilesUnavailable | Конфликт (409) | Файлы указанной задачи недоступны. |
| TaskFilesCleanedup | Конфликт (409) | Файлы указанной задачи очищаются. |
| ActiveJobAndScheduleQuotaReached | Конфликт (409) | Достигнута квота активного задания и расписания для учетной записи. |
| PoolQuotaReached | Конфликт (409) | Достигнута квота пула для учетной записи. |
| UpgradePoolVersionConflict | Конфликт (409) | Пул уже обновляется до другой версии. |
| JobPreparationTaskNotSpecified | Конфликт (409) | Указанное задание не имеет задачи подготовки задания. |
| JobReleaseTaskNotSpecified | Конфликт (409) | Указанное задание не имеет задачи выпуска задания. |
| TaskIdSameAsJobPreparationTask | Конфликт (409) | Указанный идентификатор задачи совпадает с задачей подготовки задания. |
| TaskIdSameAsJobReleaseTask | Конфликт (409) | Указанный идентификатор задачи совпадает с задачей освобождения задания. |
| JobWithSameIdExists | Конфликт (409) | Задание с указанным идентификатором расписания задания существует. Задание и расписание заданий не могут иметь одинаковый идентификатор. |
| JobScheduleWithSameIdExists | Конфликт (409) | Существует расписание задания с указанным идентификатором задания. Задание и расписание заданий не могут иметь одинаковый идентификатор. |
| NodeAlreadyInTargetSchedulingState | Конфликт (409) | Указанный узел уже находится в целевом состоянии планирования. |
| OperationNotValidOnNode | Конфликт (409) | Указанная операция недопустима на узле. |
| OperationNotValidOnPool | Конфликт (409) | Указанная операция недопустима в пуле. |
| IOError | Запрещено (403) | Произошла ошибка ввода-вывода при доступе к указанному ресурсу. |
| TooManyEnableAutoScaleRequests | ServiceUnavailable (503) | В пуле отправляется слишком много запросов включить автомасштабирование пула. |
| ApplicationNotFound | Не найдено (404) | Указанное приложение не существует. |
| InvalidApplicationPackageReferences | Конфликт (409) | Не удалось выполнить одну или несколько ссылок на пакеты приложений. Это происходит, если идентификатор или версия приложения не существует или не активен, или если ссылка не указала версию и не настроена версия по умолчанию. |
| TaskDependenciesNotSpecifiedOnJob | Неправильный запрос (400) | Задача была указана как в зависимости от других задач, но задание не указало, что оно будет использовать зависимости задач. |
| TaskDependencyListTooLong | Неправильный запрос (400) | Задача была указана как в зависимости от других задач, но список зависимостей был слишком длинным для хранения. Общая хранимая длина ограничена 64000 символами; Общая длина идентификаторов задач должна быть немного меньше этой, чтобы обеспечить затраты на внутреннее хранилище. При возникновении этой ошибки рассмотрите возможность использования зависимостей диапазона задач. |
| TaskDependencyRangesTooLong | Неправильный запрос (400) | Задача была указана как в зависимости от нескольких диапазонов идентификаторов задач, а список диапазонов был слишком длинным для хранения. Обратите внимание, что проблема заключается не в размере диапазонов, а в количестве диапазонов. |
Коды ошибок планирования задания или задачи
Если пакетная служба обнаруживает ошибку при запуске задачи на узле, она помечает задачу как завершенную. Сведения об ошибке возвращаются в элементе failureInfo в тексте ответа в разделе Перечисление файлов, связанных с задачей и Получение сведений об API задачи .
Аналогично, если пакетная служба обнаруживает ошибку во время запуска задания, она помечает это задание как завершенное. Эти сведения об ошибке планирования возвращаются в schedulingError элементе в тексте ответа элемента Получение сведений о задании в API пакетной службы .
В следующей таблице предоставлен список категорий для ошибок планирования задач.
| Категория | Описание |
|---|---|
| UserError | Ошибки в спецификации задачи, предоставленной пользователем. |
| ServerError | Ошибки, обнаруженные пакетной службой, которые препятствуют планированию задачи. |
Ниже приведен пример ошибки предварительной обработки, возвращаемой пакетной службой.
{
"preProcessingError": {
"category": "UserError",
"code": "BlobNotFound",
"message": "The specified blob does not exist.",
"values": {
"name": "FilePath",
"value": "myfile.txt"
}
}
}
В следующей таблице приведен список кодов ошибок планирования заданий, которые могут быть возвращены пакетной службой.
| Код ошибки | Категория | Сообщение для пользователя |
|---|---|---|
| InvalidCertificatesInAutoPool | UserError | Недопустимые ссылки на сертификат в спецификации автоматического пула. |
| AutoPoolCreationFailedWithQuotaReached | UserError | Достигнута квота пула для учетной записи. |
| InvalidApplicationPackageReferencesInAutoPool | UserError | Один или несколько пакетов приложений, указанных для пула, являются недопустимыми. |
| InvalidAutoScaleFormulaInAutoPool | UserError | Указаны недопустимые параметры автоматического масштабирования. |
| InvalidAutoPoolSettings | UserError | Указанные параметры автопополя являются недопустимыми. |
| JobBeingTerminated | UserError | Не удается запустить задачу, так как связанное задание завершается. |
| Неизвестно | ServerError | Произошла неизвестная ошибка планирования. |
В следующей таблице приведен список кодов ошибок планирования задач, которые могут быть возвращены пакетной службой.
| Код ошибки | Категория | Сообщение для пользователя |
|---|---|---|
| BlobNotFound | UserError | Один из указанных BLOB-объектов Azure не найден. |
| BlobAccessDenied | UserError | Доступ к одному из указанных BLOB-объектов Azure запрещен. |
| BlobDownloadTimedOut | ServerError | Истекло время ожидания при скачивании одного из указанных BLOB-объектов Azure. |
| BlobDownloadMiscError | ServerError | При скачивании одного из указанных BLOB-объектов Azure возникла другая ошибка. |
| ResourceDirectoryCreateFailed | ServerError | Произошла ошибка при создании каталога ресурсов для задачи. |
| ResourceFileCreateFailed | ServerError | Произошла ошибка при создании файла ресурсов. |
| ResourceFileWriteFailed | ServerError | Произошла ошибка при записи файла ресурсов. |
| CommandProgramNotFound | UserError | Указанная командная программа не найдена. |
| CommandLaunchFailed | UserError | Не удалось запустить указанную командную строку. |
| TaskEnded | UserError | Задача была завершена запросом пользователя. |
| MaxInternalRetryCountReached | UserError | Для указанной задачи достигнуто максимальное число внутренних повторных попыток. |
| TaskSchedulingConstraintFailed | UserError | Невозможно запланировать задачу в пуле, связанном с заданием |
| DiskFull | ServerError | На узле, выбранном для выполнения задачи, недостаточно места на диске. |
| Неизвестно | ServerError | Произошла неизвестная ошибка планирования. |