GetFileUploadURL - Amazon Mechanical Turk

WARNING

You are browsing the documentation for a deprecated version ('2014-08-15') of the Amazon Mechanical Turk Requester API. This version of the API will be deprecated and will be rendered unusable as of June 1st, 2019.

If you request against a legacy API version (https://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI-legacy/Welcome.html) on or after June 1, 2019, you will receive the following response:

This Requester API is no longer supported. Please use the latest API using the official AWS SDK. https://aws.amazon.com/getting-started/tools-sdks

The latest version of our API ('2017-01-17') provides you with additional tool choices and enables you to select from nine AWS Software Development Kits (SDKs) that have been widely adopted across the AWS community. This API can be accessed using the following AWS SDKs: Python/Boto (Boto3), Javascript (NodeJS or Browser), Java, .NET, Go, Ruby, PHP or C++. This version also makes it easier for customers to connect MTurk with other AWS services like S3, Lambda, Step Functions, Lex, Polly, Rekognition, Amazon SageMaker, AWS Batch, EC2, and more.

This version also updates naming conventions used in the API and adopts the AWS standard of Signature Version 4 to authenticate requests securely. The API uses REST requests and no longer requires that developers be familiar with SOAP protocol. These changes make the MTurk API consistent with AWS APIs, simplifying the on-boarding process for both new and existing AWS developers. The legacy MTurk Command Line Tools and .NET, Java, Ruby, and Perl SDKs were marked as deprecated in January 2018. We will be deprecating the legacy APIs as of June 1, 2019.

If you are on a legacy API, you must migrate to the latest version of our API. You can find documentation for the latest API here and the AWS SDKs here. Please check whether you need to migrate and review the technical migration guide.

For support, contact requestor-apilegacydeprecation-support@amazon.com.

 

GetFileUploadURL

Description

The GetFileUploadURL operation generates and returns a temporary URL. You use the temporary URL to retrieve a file uploaded by a Worker as an answer to a FileUploadAnswer question for a HIT. For information about the FileUploadAnswer answer, see QuestionForm.

The temporary URL is generated the instant the GetFileUploadURL operation is called, and is valid for 60 seconds.

Note

URL expiration allows your application to retrieve the file without credentials, but still retain control over who can access your data, because you need an access key ID and signature to get the temporary URL. If you need to retrieve the file after the URL has expired, call GetFileUploadURL again to get a new URL.

You can get a temporary file upload URL any time until the HIT is disposed. After the HIT is disposed, any uploaded files are deleted, and cannot be retrieved.

Request Parameters

The GetFileUploadURL operation accepts parameters common to all operations. Some common parameters are required. See Common Parameters for more information.

The following parameters are specific to the GetFileUploadURL operation:

Name Description Required

Operation

The name of the operation

Type: String

Valid Values: GetFileUploadURL

Default: None

Yes

AssignmentId

The ID of the assignment that contains the question with a FileUploadAnswer.

Type: String

Default: None

Yes

QuestionIdentifier

The identifier of the question with a FileUploadAnswer, as specified in the QuestionForm of the HIT.

Type: String

Default: None

Yes

Response Elements

A successful request for the GetFileUploadURL operation has a GetFileUploadURLResult element in the response.

The GetFileUploadURLResult element includes the elements described in the following table.

Name Description

FileUploadURL

A temporary URL for the file that the Worker uploaded for the answer.

Type: URL

Examples

The following example shows how to use the GetFileUploadURL operation.

Sample Request

The following example of a call to the GetFileUploadURL operation retrieves the temporary URL for a file-upload answer to the given question in the given assignment.

https://mechanicalturk.amazonaws.com/?Service=AWSMechanicalTurkRequester &AWSAccessKeyId=[the Requester's Access Key ID] &Version=2017-01-17 &Operation=GetFileUploadURL &Signature=[signature for this request] &Timestamp=[your system's local time] &AssignmentId=123RVWYBAZW00EXAMPLE456RVWYBAZW00EXAMPLE &QuestionIdentifier=ReadAloudAudio

Sample Response

The following is an example response.

<GetFileUploadURLResult> <Request> <IsValid>True</IsValid> </Request> <FileUploadURL>http://s3.amazonaws.com/amzn-s3-demo-bucket1/puppy.jpg</FileUploadURL> </GetFileUploadURLResult>