不能使用 boto2 为 Mechanical Turkers 分配资格
Cannot use boto2 to assign qualification to Mechanical Turkers
我正在尝试将我创建的资格分配给使用 boto2 完成我的实验的 Turker。我有三批相同的实验(每批都有不同的 HIT ID)。我很容易将资格分配给第一批,代码如下:
from boto.mturk.connection import MTurkConnection
mturk = MTurkConnection(aws_access_key_id=ACCESS_ID,
aws_secret_access_key=SECRET_KEY,
host=HOST)
qualificationID = 'qualificationIDString'
for worker_id in workerIDList:
# assign qualification
print("Granting qualification: %s to worker %s"%(globLoc_qualification, worker_id))
mturk.assign_qualification(qualification_type_id=qualificationID,
worker_id=worker_id)
然后我将 HIT ID 更改为第二批并重新运行相同的代码,但随着时间的推移,我得到了错误:
Granting qualification: 3HWVT555HSXFC1HZE98Y23F1CFJAI3 to worker: A1ZTSCPETU3UJW
MTurkRequestError: 200 OK
<?xml version="1.0"?>
<AssignQualificationResponse><OperationRequest><RequestId>ede118ea-9440-4a4d-8f9b-94b816c3a92f</RequestId></OperationRequest><AssignQualificationResult><Request><IsValid>False</IsValid><Errors><Error><Code>AWS.MechanicalTurk.QualificationAlreadyExists</Code><Message>The qualification already exists. (1531770857498)</Message></Error></Errors></Request></AssignQualificationResult></AssignQualificationResponse> A1ZTSCPETU3UJW
关于 'Qualification already exist' 指的是什么的任何提示?
错误是说您尝试授予 QualificationType 的工作人员已经具有该资格。您可能会看到这一点,因为授予 QualificationType 是发生在 Worker 上的事情,而不是 HIT。工人可以有资格,也可以没有。工人不能多次拥有它。
有关资格和资格类型的更多信息,请查看这些资源:
我正在尝试将我创建的资格分配给使用 boto2 完成我的实验的 Turker。我有三批相同的实验(每批都有不同的 HIT ID)。我很容易将资格分配给第一批,代码如下:
from boto.mturk.connection import MTurkConnection
mturk = MTurkConnection(aws_access_key_id=ACCESS_ID,
aws_secret_access_key=SECRET_KEY,
host=HOST)
qualificationID = 'qualificationIDString'
for worker_id in workerIDList:
# assign qualification
print("Granting qualification: %s to worker %s"%(globLoc_qualification, worker_id))
mturk.assign_qualification(qualification_type_id=qualificationID,
worker_id=worker_id)
然后我将 HIT ID 更改为第二批并重新运行相同的代码,但随着时间的推移,我得到了错误:
Granting qualification: 3HWVT555HSXFC1HZE98Y23F1CFJAI3 to worker: A1ZTSCPETU3UJW
MTurkRequestError: 200 OK
<?xml version="1.0"?>
<AssignQualificationResponse><OperationRequest><RequestId>ede118ea-9440-4a4d-8f9b-94b816c3a92f</RequestId></OperationRequest><AssignQualificationResult><Request><IsValid>False</IsValid><Errors><Error><Code>AWS.MechanicalTurk.QualificationAlreadyExists</Code><Message>The qualification already exists. (1531770857498)</Message></Error></Errors></Request></AssignQualificationResult></AssignQualificationResponse> A1ZTSCPETU3UJW
关于 'Qualification already exist' 指的是什么的任何提示?
错误是说您尝试授予 QualificationType 的工作人员已经具有该资格。您可能会看到这一点,因为授予 QualificationType 是发生在 Worker 上的事情,而不是 HIT。工人可以有资格,也可以没有。工人不能多次拥有它。
有关资格和资格类型的更多信息,请查看这些资源: