2013-04-05 44 views
0

我正在使用boto库来玩亚马逊MTurk。我想检索一些可检查的HIT,并显示它们的属性。例如:HIT实例对于boto返回的HIT没有属性“标题”

hits = self.mturk_conn.get_reviewable_hits(page_size=30, status='Reviewable', sort_by='Expiration', sort_direction='Ascending', page_number=1) 

for h in hits: 
    print '%s: %s' % (h.HITId, h.Title) 

我设法让HITId,但由于某种原因,我不能得到Title,因为我得到这个错误信息:

AttributeError: HIT instance has no attribute 'Title' 

一看AWS API(http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_HITDataStructureArticle.html)表明,财产应该在那里。事实上,如果我通过get_hit方法得到个人HIT boto,Title属性存在。任何理由为什么这不适用于由get_reviewable_hits方法返回的HIT?

回答

2

查看actual operation that you are calling的示例响应。

虽然单数GetHIT call返回完整的HIT数据结构。

正如您在article中看到的HIT数据结构所示,并非所有属性都是必需的。

它取决于您所做的API调用HIT响应对象具有哪些属性。 (混淆,对吧!)

在这种情况下,您实际上必须致电GetReviewableHITs,然后使用返回的HITId为GetHIT获取包含Title属性的完整结构。

顺便说一句,代替使用Boto,您可以使用my Python mTurk API,它使用API​​文档中的确切名称:)

相关问题