2013-04-05 45 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​​文檔中的確切名稱:)

相關問題