MTurk CreateHITType资格配置问题:位置与接受率无法同时生效
解决MTurk Create-HIT-Type资格要求合并配置问题
我来帮你搞定这个问题!你遇到的错误其实是因为位置资格要求和接受率资格要求的参数结构不匹配,把不需要的参数混进去了。具体来说,当使用EqualTo比较器(对应你的美国位置资格)时,IntegerValue必须设为null,但你合并配置的时候,可能不小心让位置资格也带上了IntegerValues参数,或者格式没写对。
正确的配置方式
你需要把两个资格要求作为独立的JSON对象放在同一个--qualification-requirements数组里,每个对象只包含自己需要的参数:
aws mturk create-hit-type \ --title "你的HIT标题" \ --description "你的HIT描述" \ --reward "0.10" \ --assignment-duration-in-seconds 3600 \ --qualification-requirements '[ { "QualificationTypeId": "000000000000000000L0", "Comparator": "GreaterThanOrEqualTo", "IntegerValues": [90], "RequiredToPreview": true }, { "QualificationTypeId": "00000000000000000071", "Comparator": "EqualTo", "LocaleValues": [{"Country": "US"}], "RequiredToPreview": true } ]'
关键注意点
- 接受率资格(
000000000000000000L0):用GreaterThanOrEqualTo比较器,必须搭配IntegerValues参数,这里设为[90]没问题。 - 位置资格(
00000000000000000071):用EqualTo比较器,只需要LocaleValues参数,绝对不能加IntegerValues,否则就会触发你遇到的参数验证错误。 - 两个资格对象用逗号分隔,整体放在方括号
[]里,确保JSON格式正确(注意引号是双引号,AWS CLI对JSON格式要求很严格)。
这样配置后,两个资格要求就都会生效,只有同时满足接受率≥90%且来自美国的工人才能预览和接受你的HIT。
内容的提问来源于stack exchange,提问作者Rosemary
相关产品推荐
相关产品推荐

