【问题标题】:Increasing AWS Lambda response body payload size增加 AWS Lambda 响应正文有效负载大小
【发布时间】:2019-01-11 13:09:00
【问题描述】:

我正在使用 AWS API 网关来调用我的 aws lambda 函数。它们是 REST Web 服务,会将响应返回给调用者。有些响应超过 20 MB。由于响应数据的性质(数据是表示复杂结构的折线),我不能在这里使用分页。 AWS Lambda 限制了 lambda 响应正文不能超过 6MB 大小,由于这个限制,我的一些超过 6MB 的响应因“正文大小太长”消息而失败。我想知道有没有办法增加 lambda 响应的 6MB 限制?

【问题讨论】:

标签: amazon-web-services aws-lambda


【解决方案1】:

感谢cmets,我已经按照cmets中提到的方式实现了

将响应上传到 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;
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 2021-07-24
    相关资源
    最近更新 更多