boto 和“In”比较器

2024-01-11

我正在尝试将“In”比较器与 boto 一起使用来指定 Mechanical Turk 作业的多个区域设置。这个答案 https://stackoverflow.com/a/25122804/1599229说这是可能的,也是如此AMT 文档 http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_QualificationRequirementDataStructureArticle.html#ApiReference_QualificationRequirementDataStructureArticle-the-locale-qualification.

I tried:

min_qualifications.add(
    LocaleRequirement(
        comparator='In',
        required_to_preview=False,
        locale=['US', 'CA', 'GB', 'IE', 'AU']))

我也尝试过,不同的:

locale='US, CA, GB, IE, AU'
locale='US|CA|GB|IE|AU'
locale='US CA GB IE AU'

它是如何完成的?


仅仅因为 mTurk API 中的某些功能是可能的并不意味着 Boto 将支持它。 Boto 尚未为此进行更新。

以下是如何做到这一点mturk-python https://github.com/ctrlcctrlv/mturk-python:

import mturk
m = mturk.MechanicalTurk()

question = """
<QuestionForm xmlns="http://mechanicalturk.amazonaws.com/AWSMechanicalTurkDataSchemas/2005-10-01/QuestionForm.xsd">
  <Question>
    <QuestionIdentifier>answer</QuestionIdentifier>
    <QuestionContent>
      <Text>Hello world :^)</Text>
    </QuestionContent>
    <AnswerSpecification>
      <FreeTextAnswer/>
    </AnswerSpecification>
  </Question>
</QuestionForm>
"""

qual = [
        {'QualificationTypeId' : mturk.LOCALE,
         'Comparator' : 'In',
         'LocaleValue' : [{'Country':'GB'},{'Country':'US'},{'Country':'AU'}]},
]

reward = {'Amount' : 0, 'CurrencyCode' : 'USD'}

createhit = {"Title" : "Multiple locales",
                   "Description" : "https://github.com/ctrlcctrlv/mturk-python",
                   "Keywords" : "testing, one, two, three",
                   "Reward" : reward,
                   "Question" : question,
                   "QualificationRequirement" : qual,
                   "AssignmentDurationInSeconds" : 90,
                   "LifetimeInSeconds" : (60*60*24)}

r = m.create_request('CreateHIT', createhit)
print r
print m.flattened_parameters
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

boto 和“In”比较器 的相关文章

随机推荐