Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in AWS by (19.1k points)

Following this AWS documentation, I was able to create a new endpoint on my API Gateway that is able to manipulate files on an S3 repository. The problem I'm having is the file size (AWS having a payload limitation of 10MB).

I was wondering, without using a lambda workaround, would it be possible to upload and get files bigger than 10MB (even as binary if needed) seeing as this is using an S3 service as a proxy - or is the limit regardless?

I've tried PUTting and GETting files bigger than 10MB, and each response is a typical "message": "Timeout waiting for endpoint response".

Looks like Lambda is the only way, just wondering if anyone else got around this, using S3 as a proxy.

1 Answer

0 votes
by (44.3k points)

To return a redirect link which has an S3 pre-signed URL, you can create a Lambda proxy function and an example JS code of it is below:

var s3Params = {

    Bucket: test-bucket,

    Key: file_name,

    ContentType: 'application/octet-stream',

    Expires: 10000

};

s3.getSignedUrl('putObject', s3Params, function(err, data){

   ...

}

The returned redirect response will look like this,

{

    "statusCode": 302,

    "headers": { "Location": "url" }

}

For more information, check out this documentaion.

Related questions

Browse Categories

...