从现有模板创建MTurk HIT(Create a MTurk HIT from an existi

2019-08-08 18:57发布

我使用Python的AWS包博托V2.7与Mturk API进行交互,以创建和管理HIT的等等。

我越来越想创建一个使用现有模板HIT时卡住。 亚马逊的主题文件是在这里: http://docs.aws.amazon.com/AWSMechTurk/2012-03-25/AWSMturkAPI/ApiReference_CreateHITOperation.html

我的代码是:

from boto.mturk.connection import MTurkConnection

mtc = MTurkConnection(aws_access_key_id=ACCESS_ID,
                             aws_secret_access_key=SECRET_KEY,
                             host=HOST)

mtc.create_hit(hit_layout=HIT_LAYOUT_ID)

错误是:

MTurkRequestError: MTurkRequestError: 200 OK
<?xml version="1.0"?>
<CreateHITResponse><OperationRequest><RequestId>986926dd-0263-4aca-970c-139b7ed4a0e8</RequestId></OperationRequest><HIT><Request><IsValid>False</IsValid><Errors><Error><Code>AWS.MechanicalTurk.InvalidParameterValue</Code><Message>There was an error parsing the request (1359492767224 s)</Message></Error></Errors></Request></HIT></CreateHITResponse>

这似乎是MTurk API期待一个命中布局参数如下详细说明: http://docs.aws.amazon.com/AWSMechTurk/2012-03-25/AWSMturkAPI/ApiReference_HITLayoutArticle.html

虽然我的原始模板没有使用占位符值的,我删除了他们为简单起见,并只是试图获取代码工作。 在这种情况下,我认为需要的唯一参数将是hit_layout?

这是宝途的API的限制还是我失去了一些东西?

UPDATE

我试着用用,结果如下意见中提到的mturkcore模块。

码:

import mturkcore

login_dict = {'use_sandbox':True,
              'stdout_log':False,
              'AWS_ACCESS_KEY_ID':'ACCESS_ID',
              'AWS_SECRET_ACCESS_KEY':'PASSWORD'}

mtc = mturkcore.MechanicalTurk(login_dict)

request_params = {"Title":"Test Layout",
                    "Description":"Test Description",
                    "HITLayoutId":"2QNNJKM05BMJLZIA6G7TS9RA7TECHE",
                    "Reward":0.05,
                    "LifetimeInSeconds":6000,
                    "AssignmentDurationInSeconds":600    
                    }

mtc.create_request("CreateHIT", request_params)

这就产生了从泡沫的错误信息:

TypeNotFound: Type not found: 'HITLayoutId'

同样,我在这里的操作说明: http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_CreateHITOperation.html这似乎相当直截了当。

解决办法,我终于能够从现有的模板一击,但只是在生产环境中。 显然,有沙盒和生产之间的差异这可能是为什么我得到上述错误。 如果有人曾与在沙箱这样的成功,请附和!

此外,您必须确保奖励,LifetimeInSeconds和AssignmentDurationInSeconds参数相匹配正在创建的布局模板。 最后,查看您所创建的HIT,必须单击“管理的HIT独立”链接。

文章来源: Create a MTurk HIT from an existing template