当我使用Ruby SDK调用CreateHITWithHITType
时,Amazon Mechanical Turk给我以下错误:
Aws::MTurk::Errors::RequestError: The HIT with ID "3HJ..." already exists. (154...)
我不明白为什么会收到此错误。
似乎出现此错误,是因为我使用过去使用过的唯一请求令牌调用CreateHITWithHITType
-当我省略该令牌或使用从未使用过的令牌时,我的代码成功创建了HIT。但是,这使我感到困惑,因为自从我上次使用该唯一请求令牌以来已经超过24小时(接近30天),并且根据Amazon Mechanical Turk documentation for CreateHITWithHITType
(和the relevant Ruby SDK documentation),唯一请求令牌24小时后过期:
UniqueRequestToken:此请求的唯一标识符。允许您重试通话 错误而不创建重复的HIT。这在以下情况下很有用 网络超时,不清楚呼叫是否成功 在服务器上。如果以前的系统中已经存在HIT 使用相同的UniqueRequestToken调用,后续调用将返回 包含以下消息的
AWS.MechanicalTurk.HitAlreadyExists
错误 HITId。类型:字符串
约束:长度不能超过64个字符。它是 您有责任确保令牌的唯一性。独特的 令牌会在24小时后过期。随后的通话使用相同的 在24小时限制后发出的UniqueRequestToken可能会创建重复项 HITs。
文档不正确吗?还是我对唯一请求令牌有误解?