Ошибка проверки подлинности системного исключения не позволяет создать файл, так как он уже существует

Обновлено: 04.07.2024

Когда вы отправляете запросы и получаете ответы от Elastic Transcoder API, вы можете столкнуться с двумя типами ошибок API:

Для каждой ошибки API Elastic Transcoder возвращает следующие значения:

Код состояния, например 400

Код ошибки, например, ValidationException

Сообщение об ошибке, например, Supplied AttributeValue пусто, должно содержать только один из поддерживаемых типов данных

Список кодов ошибок, которые Elastic Transcoder возвращает для ошибок клиента и сервера, см. в разделе Коды ошибок API (ошибки клиента и сервера).

Кроме того, вы можете столкнуться с ошибками, пока Elastic Transcoder обрабатывает ваше задание. Дополнительную информацию см. в разделе Ошибки во время обработки задания.

Коды ошибок API (ошибки клиента и сервера)

Код ответа 200 означает, что операция прошла успешно. Другие коды ошибок указывают либо на ошибку клиента (4xx), либо на ошибку сервера (5xx).

В следующей таблице перечислены ошибки, возвращаемые Elastic Transcoder. Некоторые ошибки устраняются, если вы просто повторяете тот же запрос. В таблице указано, какие ошибки могут быть устранены при последовательных повторных попытках. Если значение столбца «Повторить» равно:

Да: отправить тот же запрос еще раз.

Нет: устраните проблему на стороне клиента перед отправкой нового запроса.

Дополнительную информацию о повторных попытках запросов см. в разделе Повторные попытки при ошибках и экспоненциальная отсрочка.

Удаление системной настройки запрещено: account=, presetId=

Ошибки при обработке задания

Когда Elastic Transcoder обнаруживает ошибку при обработке вашего задания, он сообщает об ошибке двумя способами:

Статус задания и статус вывода: Elastic Transcoder устанавливает для объекта Job:Status и объекта Outputs:Status для неудачного вывода значение Error . Кроме того, Elastic Transcoder устанавливает для объекта JSON Outputs:StatusDetail для неудачного вывода значение, объясняющее сбой.

Уведомление SNS. Если вы настроили конвейер для отправки уведомления SNS, когда Elastic Transcoder обнаруживает ошибку во время обработки, Elastic Transcoder включает объект JSON в уведомление в следующем формате:

Основной причиной этого является несоответствие между пресетом и входным файлом. Примеры включают:

Предустановка включает настройки звука, но во входном файле звук отсутствует.

Предустановка включает настройки видео, но во входном файле видео отсутствует.

Отлов ошибок

Чтобы ваше приложение работало бесперебойно, вам необходимо встроить логику для обнаружения ошибок и реагирования на них. Один из типичных подходов – реализовать запрос в блоке try или операторе if-then.

SDK AWS самостоятельно выполняют повторные попытки и проверку ошибок. Если вы столкнулись с ошибкой при использовании одного из AWS SDK, вы должны увидеть код ошибки и описание. Вы также должны увидеть значение идентификатора запроса. Значение идентификатора запроса может помочь устранить проблемы с поддержкой Elastic Transcoder.

В следующем примере используется AWS SDK для Java для удаления элемента в блоке try и блок catch для ответа на ошибку. В этом случае он предупреждает пользователя о том, что запрос не выполнен. В примере используется класс AmazonServiceException для получения информации о любых ошибках операции, включая идентификатор запроса. В примере также используется класс AmazonClientException на случай, если запрос не будет выполнен по другим причинам.

Повторные попытки с ошибками и экспоненциальное отставание

Многочисленные компоненты сети, такие как DNS-серверы, коммутаторы, балансировщики нагрузки и другие, могут генерировать ошибки в любой момент выполнения данного запроса.

Обычным методом обработки таких ответов об ошибках в сетевой среде является реализация повторных попыток в клиентском приложении. Этот метод повышает надежность приложения и снижает эксплуатационные расходы разработчика.

Каждый SDK AWS, поддерживающий Elastic Transcoder, реализует логику автоматического повтора. AWS SDK для Java автоматически повторяет запросы, и вы можете настроить параметры повтора с помощью класса ClientConfiguration. Например, в некоторых случаях, когда веб-страница отправляет запрос с минимальной задержкой и без повторных попыток, может потребоваться отключить логику повторных попыток. Используйте класс ClientConfiguration и задайте для maxErrorRetry значение 0, чтобы отключить повторные попытки.

Если вы не используете AWS SDK, следует повторить исходные запросы, получившие ошибки сервера (5xx). Однако ошибки клиента (4xx, кроме ThrottlingException или ProvisionedThroughputExceededException ) указывают на то, что вам необходимо пересмотреть сам запрос, чтобы исправить проблему, прежде чем пытаться снова.

В дополнение к простым повторным попыткам мы рекомендуем использовать алгоритм экспоненциальной отсрочки для лучшего управления потоком. Идея экспоненциальной отсрочки состоит в том, чтобы постепенно увеличивать время ожидания между повторными попытками для последовательных ответов об ошибках.Например, вы можете подождать одну секунду до первой попытки, четыре секунды до второй попытки, 16 секунд до третьей попытки и так далее. Однако, если запрос не был выполнен в течение минуты, проблема может заключаться в жестком ограничении, а не в частоте запросов. Например, возможно, вы достигли максимально допустимого количества конвейеров. Установите максимальное количество повторных попыток примерно на одну минуту.

Ниже показан рабочий процесс, показывающий логику повторных попыток. Логика рабочего процесса сначала определяет, является ли ошибка ошибкой сервера (5xx). Затем, если ошибка связана с сервером, код повторяет исходный запрос.

Попытка обновить новую установку CU6 до CU7, и я не могу обойти эту ошибку. Пожалуйста, помогите.

Роль почтового ящика компонента Exchange Server: сбой службы транспорта.

Следующая ошибка возникла, когда "$error.Clear();

$feVdirName = "PowerShell (веб-сайт по умолчанию)";

$beVdirName = "PowerShell (серверная часть Exchange)";

$InternalPowerShellUrl="http://" + $RoleFqdnOrName + "/powershell";

get-PowerShellVirtualDirectory -ShowMailboxVirtualDirectories -server $RoleFqdnOrName -DomainController $RoleDomainController | где < $_.Name -eq $beVdirName -or $_.Name -eq $feVdirName >| remove-PowerShellVirtualDirectory -DomainController $RoleDomainController;

new-PowerShellVirtualDirectory $vdirName -Role Mailbox -DomainController $RoleDomainController -BasicAuthentication:$false -WindowsAuthentication:$true -RequireSSL:$true -WebSiteName "Exchange Back End" -Path ($RoleInstallPath + "ClientAccess\PowerShell-Proxy" );

new-PowerShellVirtualDirectory $vdirName -Role Mailbox -InternalUrl $InternalPowerShellUrl -DomainController $RoleDomainController -BasicAuthentication:$false -WindowsAuthentication:$false -RequireSSL:$false -WebSiteName "Веб-сайт по умолчанию" -AppPoolId "MSExchangePowerShellFrontEndAppPool";

>

»: «System.ArgumentException: виртуальный каталог PowerShell уже существует в разделе NSCCEx13.administration.nashvilletech.int/Exchange Back End».

Имя параметра: VirtualDirectoryName

at Microsoft.Exchange.Configuration.Tasks.Task.WriteError (исключение исключения, категория ErrorCategory, цель объекта, логическое значение reThrow, строка helpUrl)

at Microsoft.Exchange.Configuration.Tasks.Task.WriteError (исключение исключения, категория ErrorCategory, цель объекта)

в Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, логическое значение terminatePipelineIfFailed)".

Следующая ошибка возникла, когда "$error.Clear();

$feVdirName = "PowerShell (веб-сайт по умолчанию)";

$beVdirName = "PowerShell (серверная часть Exchange)";

$InternalPowerShellUrl="http://" + $RoleFqdnOrName + "/powershell";

get-PowerShellVirtualDirectory -ShowMailboxVirtualDirectories -server $RoleFqdnOrName -DomainController $RoleDomainController | где < $_.Name -eq $beVdirName -or $_.Name -eq $feVdirName >| remove-PowerShellVirtualDirectory -DomainController $RoleDomainController;

new-PowerShellVirtualDirectory $vdirName -Role Mailbox -DomainController $RoleDomainController -BasicAuthentication:$false -WindowsAuthentication:$true -RequireSSL:$true -WebSiteName "Exchange Back End" -Path ($RoleInstallPath + "ClientAccess\PowerShell-Proxy" );

new-PowerShellVirtualDirectory $vdirName -Role Mailbox -InternalUrl $InternalPowerShellUrl -DomainController $RoleDomainController -BasicAuthentication:$false -WindowsAuthentication:$false -RequireSSL:$false -WebSiteName "Веб-сайт по умолчанию" -AppPoolId "MSExchangePowerShellFrontEndAppPool";

>

»: «System.ArgumentException: виртуальный каталог PowerShell уже существует в разделе NSCCEx13.administration.nashvilletech.int/Default Web Site».

Имя параметра: VirtualDirectoryName

at Microsoft.Exchange.Configuration.Tasks.Task.WriteError (исключение исключения, категория ErrorCategory, цель объекта, логическое значение reThrow, строка helpUrl)

at Microsoft.Exchange.Configuration.Tasks.Task.WriteError (исключение исключения, категория ErrorCategory, цель объекта)

в Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, логическое значение terminatePipelineIfFailed)".

Ответы

Спасибо за ответ.

Я пробовал все это несколько раз.

Я почти уверен, что что-то напутано с путями к файлам моего виртуального каталога, и я никогда не смогу это исправить.

Я начал все сначала с новым сервером и массой дополнительного опыта.

Мой переход возобновился (на этот раз с CU7).

Я пытался установить CU7, чтобы исправить маршрутизацию EAS до 2007, и это, кажется, работает.

Все ответы

Роль почтового ящика компонента Exchange Server: сбой службы транспорта.

Следующая ошибка возникла, когда "$error.Clear();

$feVdirName = "PowerShell (веб-сайт по умолчанию)";

$beVdirName = "PowerShell (серверная часть Exchange)";

$InternalPowerShellUrl="http://" + $RoleFqdnOrName + "/powershell";

get-PowerShellVirtualDirectory -ShowMailboxVirtualDirectories -server $RoleFqdnOrName -DomainController $RoleDomainController | где < $_.Name -eq $beVdirName -or $_.Name -eq $feVdirName >| remove-PowerShellVirtualDirectory -DomainController $RoleDomainController;

new-PowerShellVirtualDirectory $vdirName -Role Mailbox -DomainController $RoleDomainController -BasicAuthentication:$false -WindowsAuthentication:$true -RequireSSL:$true -WebSiteName "Exchange Back End" -Path ($RoleInstallPath + "ClientAccess\PowerShell-Proxy" );

new-PowerShellVirtualDirectory $vdirName -Role Mailbox -InternalUrl $InternalPowerShellUrl -DomainController $RoleDomainController -BasicAuthentication:$false -WindowsAuthentication:$false -RequireSSL:$false -WebSiteName "Веб-сайт по умолчанию" -AppPoolId "MSExchangePowerShellFrontEndAppPool";

>

Я пытаюсь переместить каталог из одного места в другое на том же диске. Я получаю сообщение об ошибке «Невозможно создать файл, если этот файл уже существует». Ниже мой код.

Может ли кто-нибудь предложить по этому поводу?

у меня нет папки или файла в папке назначения, я просто хочу переместить исходную папку в папку назначения

5 ответов 5

Как указывалось в обоих предыдущих ответах, каталог назначения не может существовать. В своем коде вы создаете каталог, если он не существует, а затем пытаетесь переместить свой каталог, метод перемещения создаст каталог для вас. Если каталог уже существует, вам нужно будет его удалить или переместить.

Что-то вроде этого:

"Этот метод выдает исключение IOException, если, например, вы пытаетесь переместить c:\mydir в c:\public, а c:\public уже существует. В качестве destDirName необходимо указать "c:\public\mydir". параметр, при условии, что "mydir" не существует в "c:\public", или укажите новое имя каталога, например "c:\newdir"."

Вам не нужно сначала создавать каталог, он вызовет исключение ввода-вывода, если целевой каталог существует, метод Move автоматически создаст его для вас:

Дополнительная информация о Directory.Move:

Если целевой каталог существует, этот код не будет перемещать файлы из исходного каталога в целевой каталог.

Этот метод генерирует исключение IOException, если, например, вы пытаетесь переместить c:\mydir в c:\public, а c:\public уже существует.

Но в вашем методе вы создаете каталог назначения перед перемещением.

Итак, вам нужно изменить свой метод с

Вы можете просто позвонить

Что он делает внутри, так это создает целевой каталог, если он не существует, а затем перебирает файлы исходного каталога и перемещает их в целевой каталог. Таким образом, проблема «Невозможно создать файл, когда этот файл уже существует» не возникнет.

Вам нужно будет добавить Microsoft.VisualBasic в качестве ссылки.

Связано

Связанные

Горячие вопросы о сети

Чтобы подписаться на этот RSS-канал, скопируйте и вставьте этот URL-адрес в программу для чтения RSS.

дизайн сайта / логотип © 2022 Stack Exchange Inc; вклады пользователей под лицензией cc by-sa. версия 2022.3.18.41718

На этой странице описаны исключения и коды ошибок Prisma. Дополнительные сведения о работе с исключениями и кодами ошибок см. в разделе Обработка исключений и ошибок .

Типы ошибок клиента Prisma

Клиент Prisma выдает различные ошибки. Ниже перечислены типы исключений и их задокументированные поля данных:

Prisma Client выдает исключение PrismaClientKnownRequestError, если обработчик запросов возвращает известную ошибку, связанную с запросом, например нарушение уникального ограничения.

СвойствоОписание
code Код ошибки Prisma.
мета Дополнительная информация об ошибке - например, поле, вызвавшее ошибку:
сообщение Сообщение об ошибке, связанное с кодом ошибки.
clientVersion Версия Prisma Client (например, 2.19.0 )

Prisma Client создает исключение PrismaClientUnknownRequestError, если обработчик запросов возвращает ошибку, связанную с запросом, не имеющим кода ошибки.

СвойствоОписание
сообщение Сообщение об ошибке, связанное с кодом ошибки.
clientVersion Версия клиента Prisma (например, 2.19.0 )

Клиент Prisma выдает исключение PrismaClientRustPanicError, если базовый движок дает сбой и завершается с ненулевым кодом выхода. В этом случае клиент Prisma или весь процесс узла необходимо перезапустить.

СвойствоОписание
сообщение Сообщение об ошибке, связанное с кодом ошибки.
clientVersion Версия клиента Prisma (например, 2.19.0 )

Prisma Client создает исключение PrismaClientInitializationError, если что-то пойдет не так при запуске механизма запросов и создании соединения с базой данных. Это происходит либо:

  • При вызове prisma.$connect() ИЛИ
  • При выполнении первого запроса

К возможным ошибкам относятся:

СвойствоОписание
errorCode Специфический код ошибки Prisma.
сообщение Сообщение об ошибке, связанное с кодом ошибки.
clientVersion Версия клиента Prisma ( например, 2.19.0 )

Prisma Client генерирует исключение PrismaClientValidationError, если проверка не пройдена, например:

  • Отсутствует поле — например, пустое свойство data: <> при создании новой записи
  • Указан неверный тип поля (например, для логического поля задано значение "Привет, я люблю сыр и золото!")
СвойствоОписание
сообщение Сообщение об ошибке.

"Аутентификация не удалась на сервере базы данных по адресу . Предоставленные учетные данные для базы данных недействительны. Убедитесь, что вы предоставили действительные учетные данные для сервера базы данных по адресу ."

"Не удается подключиться к серверу базы данных по адресу : Убедитесь, что сервер базы данных работает по адресу : ".

"Доступ к серверу базы данных по адресу : истек, но время ожидания истекло. Повторите попытку. Убедитесь, что сервер базы данных работает по адресу : ". "

"База данных не существует на сервере базы данных по адресу: ."

"Время ожидания операций истекло после "

"База данных уже существует на сервере базы данных по адресу: "

"Пользователю отказано в доступе к базе данных"

"Ошибка при открытии соединения TLS: "

  • "Аргумент <> отсутствует."
  • "Функция <> принимает <> аргументов, но получает <>."
  • "Аргумент <> отсутствует в атрибуте @<> ."
  • "Аргумент <> отсутствует в блоке источника данных <> ."
  • "Аргумент <> отсутствует в генераторном блоке <>."
  • "Ошибка анализа атрибута @<> : <>"
  • "Атрибут @<> определен дважды."
  • "Не удалось определить модель с именем базы данных <>, поскольку существует другая модель с таким именем: <> "
  • " <> — это зарезервированное имя скалярного типа, которое нельзя использовать."
  • "<><> не может быть определено, так как <> с таким именем уже существует."
  • "Ключ <> уже определен в <>."
  • "Аргумент <> уже указан как безымянный аргумент."
  • "Аргумент <> уже указан."
  • "Такого аргумента нет."
  • "Поле <> уже определено в модели <> ."
  • "Поле <> в модели <> не может быть списком. Текущий коннектор не поддерживает списки примитивных типов."
  • "Имя индекса <> объявляется несколько раз. При использовании текущего коннектора имена индексов должны быть глобально уникальными."
  • "Значение <> уже определено в перечислении <> ."
  • "Атрибут неизвестен: @<> ."
  • "Функция неизвестна: <> ."
  • "Поставщик данных неизвестен: <> ."
  • "shadowDatabaseUrl совпадает с URL-адресом источника данных <>. Укажите другую базу данных в качестве теневой базы данных."
  • "Функция предварительного просмотра <> неизвестна. Ожидается одна из: <>"
  • " <> не является допустимым значением для <>."
  • "Тип <> не является ни встроенным типом, ни ссылкой на другую модель, пользовательский тип или перечисление."
  • "Тип <> не является встроенным типом."
  • "Неожиданный токен. Ожидается один из: <>"
  • "<>"
  • "<>"
  • "<>"
  • "Переменная среды не найдена: <>."
  • "Ожидалось значение <>, но получено значение <> <> ."
  • "Ожидалось значение <>, но не удалось проанализировать <> : <>."
  • "Ошибка проверки модели <> : <>"
  • "Ошибка проверки поля <> в модели <> : <>"
  • "Ошибка проверки источника данных: ""
  • "Ошибка проверки перечисления <> : <>"
  • "Ошибка проверки: <>"

"Предоставленная строка базы данных недействительна."

"Базовая модель для модели не существует."

"Ваша схема Prisma использует функции, которые не поддерживаются для версии базы данных.
Версия базы данных:
Ошибки:
"

"В необработанном запросе указано неверное количество параметров. Ожидаемое: , фактическое: ."

"Сервер разорвал соединение."

Клиент Prisma (система запросов)

"Предоставленное значение для столбца слишком длинное для типа столбца. Столбец: "

"Запись, искомая в условии where ( . = ), не существует"

"Ошибка ограничения уникальности "

"Ошибка ограничения внешнего ключа для поля: "

"Не удалось выполнить ограничение в базе данных: "

"Значение, хранящееся в базе данных для поля, недопустимо для типа поля"

Читайте также: