Aws :: MTurk :: Errors :: RequestError: HIT с идентификатором ... уже существует - PullRequest
0 голосов
/ 03 января 2019

Amazon Mechanical Turk выдает мне следующую ошибку при вызове CreateHITWithHITType с использованием Ruby SDK:

Aws::MTurk::Errors::RequestError: The HIT with ID "3HJ..." already exists. (154...)

Я не понимаю, почему я получаю эту ошибку.

Кажется, я получаю эту ошибку, потому что я звоню CreateHITWithHITType с уникальным токеном запроса, который я использовал в прошлом - когда я опускаю токен или использую токен, который никогда ранее не использовался, мой кодсоздает ХИТ успешно.Однако меня это смущает, потому что прошло более 24 часов (ближе к 30 дням) с тех пор, как я последний раз использовал этот уникальный токен запроса, и согласно документации Amazon Mechanical Turk для CreateHITWithHITType соответствующая документация Ruby SDK ), срок действия уникальных токенов запроса истекает через 24 часа:

UniqueRequestToken: уникальный идентификатор для этого запроса.Позволяет повторить вызов при ошибке без создания дубликатов HIT.Это полезно в таких случаях, как тайм-ауты сети, когда неясно, был ли вызов успешным на сервере.Если HIT уже существует в системе из предыдущего вызова с использованием того же UniqueRequestToken, последующие вызовы вернут ошибку AWS.MechanicalTurk.HitAlreadyExists с сообщением, содержащим HITId.

Тип: String

Ограничения:не должен быть длиннее 64 символов.Вы несете ответственность за обеспечение уникальности токена.Срок действия уникального токена истекает через 24 часа.Последующие вызовы с использованием того же UniqueRequestToken, которые были сделаны после 24-часового лимита, могут создать дубликаты HIT.

Документация неверна?Или я что-то не так понимаю относительно уникальных токенов запроса?

...