我正在尝试利用 boto 在 Mechanical Turk 中生成 HIT。目标是使用我的 mTurk 帐户上已生成的通用布局,并向其传递图像 URL 以迭代创建 HIT。
问题是,即使正确命名参数,如果图像 url boto 也不成功。我创建点击的示例代码是:
from boto.mturk.connection import MTurkConnection
from boto.s3.connection import S3Connection
from boto.mturk.layoutparam import LayoutParameter
from boto.s3.key import Key
import datetime
mtc = MTurkConnection(aws_access_key_id=AWSKEY,
aws_secret_access_key=AWSSKEY,
host=HOST)
#Define the layout ID to use and url to the image being used (bucket and serial defined in another place
LAYOUTID = '30W9SLHWRYCURO27D44916CUTGKDS2'
S3URL = LayoutParameter('image_url','https://s3.amazonaws.com/'+BUCKET_NAME+'/'+SERIAL)
REWARD = 0.05
#Call create_hit to generate the HIT
hit_result = mtc.create_hit(hit_layout=LAYOUTID,layout_params=S3URL, keywords=keywords_list, reward=REWARD,
duration=datetime.timedelta(7),max_assignments=1)
这会产生错误您的请求缺少必需的参数。必需的参数包括 HITLayoutParameter。您尚未提供所有必需的 HITLayout 参数。缺少参数名称:image_url
为了确保我的布局 ID 具有正确的参数名称,当我检查 mTurk 时,我看到(无法发布屏幕截图):
布局 ID:
30W9SLHWRYCURO27D44916CUTGKDS2
参数:
图片地址
使用LayoutParameter有什么技巧吗?或者我是否以错误的方式使用 create_hit ?