Hex*_*xie 6 amazon-s3 amazon-web-services aws-lambda aws-api-gateway
遵循此AWS文档,我能够在API网关上创建一个新的终结点,该终结点能够处理S3存储库中的文件。我遇到的问题是文件大小(AWS的有效负载限制为10MB)。
我想知道,如果不使用lambda解决方法(此链接将对此有所帮助),是否有可能上传和获取大于10MB的文件(如果需要,甚至可以二进制),因为这是使用S3服务作为代理。 -还是这个限制?
我尝试了PUTting和GETting大于10MB的文件,每个响应都是典型的"message": "Timeout waiting for endpoint response"。
看起来这Lambda是唯一的方法,只是想知道是否有人使用S3作为代理来解决此问题。
谢谢
您可以创建Lambda代理函数,该函数将返回带有S3预签名URL的重定向链接。
生成预签名的S3 URL的示例JavaScript代码:
var s3Params = {
Bucket: test-bucket,
Key: file_name,
ContentType: 'application/octet-stream',
Expires: 10000
};
s3.getSignedUrl('putObject', s3Params, function(err, data){
...
}
Run Code Online (Sandbox Code Playgroud)
然后,您的Lambda函数将重定向响应返回到您的客户端,例如,
{
"statusCode": 302,
"headers": { "Location": "url" }
}
Run Code Online (Sandbox Code Playgroud)
您也许可以从本文档中找到所需的更多信息。