The .NET app includes a curated list of helper functions with ability to perform advanced Requester tasks programmatically on Amazon Mechanical Turk crowdsourcing platform. The app leverages AWS MTurk SDKs toward performing the requester jobs that typically cannot be done from the MTurk Web Requester Portal.
- Includes a curated list of helper functions that perform advanced Requester taks (e.g., emailing Workers) on MTurk.
- Supports generating excel worksheets with Worker data based on QualificationTypes.
- Supports Logging mechanism for sensitive tasks such as sending emails to workers along wth functionality to forward email logs to the Requester.
ListAllHITs
- List all the HITs associated with the Requester AccountGetWorkerIdsForHit
- Get all the Workers who completed a specific HITGetQualificationType
- Get QualificationType object from the provided nameGetQualificationTypeId
- Get ID of the QualificationType object from the provided nameAssignQualificationTypeToWorkers
- Assigns QualificationType to Workers from a specific HIT or from a list of workersRemoveQualificationTypeFromWorkers
- Removes QualificationType from all workers in the HITGenerateBatchDataForWorkersWithQualificationTypeExcel
- Generate a list of all Workers assigned to a QualficationType and save the result in a excel file in the current directorySendMessageToWorker
- Send a email message to a certain Worker with a speific Subject and MessageSendMessageToWorkers
- Send email to a lis of Workers while generating logs of the email sending job and sending out log email to the Requester
Here are a list of dependencies for the app:
- .NET SDK 8.0 (https://dotnet.microsoft.com/en-us/download)
- AWSSDK.MTurk v3.7.400.20 (https://www.nuget.org/packages/AWSSDK.MTurk)
- ClosedXML v0.102.3 (https://www.nuget.org/packages/ClosedXML)
- Clone the repo using the command:
git clone https://github.com/ehsan-ashik/mturk-api-helpers.git
- Open the
MTurkAPIHelpers.sln
with Visual Studio - Set the
AWS_ACCESS_KEY_ID
andAWS_ACCESS_KEY_SECRET
(AWS IAM/root user with permission to access Mechanical Turk) properties in theMTurkAPIHelpers/Constants/Config
file. - Build and Run the Solution.
Here are a list of steps to run the app locally:
- Clone the repo using the command:
git clone https://github.com/ehsan-ashik/mturk-api-helpers.git
- Open the repo with code and
cd
into MTurkAPIHelpers - Set the
AWS_ACCESS_KEY_ID
andAWS_ACCESS_KEY_SECRET
(AWS IAM/root user with permission to access Mechanical Turk) properties in theMTurkAPIHelpers/Constants/Config
file. - Build the project in the command line with the command:
dotnet build
- Run the project with the command:
dotnet run
- Tutorial to setup/link AWS account with Mturk - https://docs.aws.amazon.com/AWSMechTurk/latest/AWSMechanicalTurkGettingStartedGuide/SetUp.html
- Creating IAM user in AWS - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html
- Adding permission to the IAM User - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html