2017-06-15 2 views
0

L'ancienne API MTurk (et boto2) avait une méthode UpdateQualificationScore qui permettrait aux utilisateurs de mettre à jour le score d'un travailleur spécifique, mais cela semble avoir disparu dans la dernière version (s) basée sur boto3.Comment mettre à jour un score de qualification de travailleur MTurk avec boto3?

La dernière API MTurk a une méthode GetQualificationScore (qui renvoie en réalité un enregistrement de qualification de travailleur complet, pas seulement le score), mais pas de méthode UpdateQualificationScore correspondante. Quel est le mécanisme de mise à jour d'un score pour un travailleur existant?

Répondre

1

mieux que je peux dire, la bonne façon de le faire avec le boto3 est d'utiliser le point final AssociateQualificationWithWorker:

session = boto3.Session(profile_name='mturk') 
client = session.client('mturk') 
response = client.associate_qualification_with_worker(
    QualificationTypeId=qualification_type_id, 
    WorkerId=worker_id, 
    IntegerValue=score, 
    SendNotification=False, 
) 

Cette semble travailler, en particulier lorsqu'ils sont pris aux côtés de GetQualificationScore retourner le « plein "record de qualification au lieu de juste le score.

0

La réponse d'ex-nerd est correcte. S'appuyant sur l'exemple Python disponible à http://requester.mturk.com/developer, les travaux suivants pour attribuer un QualificationType puis changer le score de ce travailleur:

import boto3 

region_name = 'us-east-1' 
aws_access_key_id = 'YOUR_ACCESS_ID' 
aws_secret_access_key = 'YOUR_SECRET_KEY' 

endpoint_url = 'https://mturk-requester-sandbox.us-east-1.amazonaws.com' 

# Uncomment this line to use in production 
# endpoint_url = 'https://mturk-requester.us-east-1.amazonaws.com' 

client = boto3.client(
    'mturk', 
    endpoint_url=endpoint_url, 
    region_name=region_name, 
    aws_access_key_id=aws_access_key_id, 
    aws_secret_access_key=aws_secret_access_key, 
) 

# This will assign the QualificationType 
client.associate_qualification_with_worker(QualificationTypeId = '3KIOU9ULHKIIS5OPUVORW7OE1070V0', WorkerId = 'A39ECJ12CY7TE9', IntegerValue = 100) 

# This will set the QualificationScore from 100 to 90 
client.associate_qualification_with_worker(QualificationTypeId = '3KIOU9ULHKIIS5OPUVORW7OE1070V0', WorkerId = 'A39ECJ12CY7TE9', IntegerValue = 90) 
+0

Je dois ajouter que, dans la pratique, il y a environ 30-60 secondes de retard de propagation à voir la Mise à jour WorkerScore sur www.mturk.com. Juste un avertissement afin que vous ne soyez pas ébranlé en essayant de savoir si votre appel à associate_qualification_with_worker a fonctionné ou non. – jrb