sun*_*ose 5 amazon-web-services aws-lambda
我正在使用 AWS API 网关来调用我的 aws lambda 函数。它们是将响应返回给调用者的 REST Web 服务。一些响应超过 20 MB。由于响应数据的性质(数据是表示复杂结构的折线),我不能在这里使用分页。AWS Lambda 受到 lambda 响应主体大小不能超过 6MB 的限制,由于这个限制,我的一些超过 6MB 的响应失败并显示“主体大小太长”消息。我想知道有没有办法增加 lambda 响应的 6MB 限制?
感谢您的评论,我已经按照评论中提到的方式实现了
将响应上传到 s3 存储桶,并向调用者提供重定向 URL。这是有效的示例代码。您还可以在 s3 存储桶级别启用 CORS 以使其正常工作。您可以更改到正确的区域
public String uploadToS3(Set<MyClass> myclassSet, String bucketName) throws IOException {
Region region = Regions.getCurrentRegion();
if (region == null) {
region = Region.getRegion(Regions.US_EAST_1);
}
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withRegion(region.getName())
.withCredentials(DefaultAWSCredentialsProviderChain.getInstance())
.build();
ObjectMapper mapper = new ObjectMapper();
String jsonClass = mapper.writeValueAsString(myclassSet);
s3Client.putObject(bucketName, "random_key.json", jsonClass);
GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, "random_key.json");
URL url = s3Client.generatePresignedUrl(req);
String redirectUrl = url.toString();
return redirectUrl;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5014 次 |
| 最近记录: |