При неудачной обработке запроса DynamoDB выдает ошибку. Каждая ошибка состоит из следующих компонентов: код состояния HTTP, имя исключения и сообщение. Управление ошибками основывается на вашем SDK, который распространяет ошибки, или на вашем собственном коде.
Коды и сообщения
Исключения попадают в разные коды состояния HTTP-заголовка. 4xx и 5xx содержат ошибки, связанные с проблемами запросов и AWS.
Ниже перечислены некоторые исключения в категории HTTP 4xx.
-
AccessDeniedException — клиент не смог правильно подписать запрос.
-
ConditionalCheckFailedException — условие, оцененное как ложное.
-
IncompleteSignatureException — запрос включал неполную подпись.
AccessDeniedException — клиент не смог правильно подписать запрос.
ConditionalCheckFailedException — условие, оцененное как ложное.
IncompleteSignatureException — запрос включал неполную подпись.
Исключения в категории HTTP 5xx следующие:
- Внутренняя ошибка сервера
- Сервис недоступен
Повторные попытки и алгоритмы возврата
Ошибки происходят из различных источников, таких как серверы, коммутаторы, балансировщики нагрузки и другие элементы структур и систем. Общие решения состоят из простых повторных попыток, что обеспечивает надежность. Все SDK включают эту логику автоматически, и вы можете установить параметры повтора в соответствии с потребностями вашего приложения.
Например — Java предлагает значение maxErrorRetry, чтобы остановить повторные попытки.
Amazon рекомендует использовать решение для отсрочки в дополнение к повторным попыткам, чтобы контролировать поток. Это состоит из постепенно увеличивающихся периодов ожидания между повторными попытками и, в конечном счете, остановки после довольно короткого периода. Примечание. SDK выполняют автоматические повторные попытки, но не экспоненциальный откат.
Следующая программа является примером отката повторной попытки —