首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将上传到S3超时

将上传到S3超时
EN

Stack Overflow用户
提问于 2019-09-24 06:19:23
回答 2查看 819关注 0票数 0

我是AWS Lambda的新手,我面临着一个问题。我正在Node中开发,我正在从我的S3下载JSON文件(非常大的12-25MB),进行一些处理,并试图以JSON的形式将结果上传回S3。

我遵循这个教程:https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html,它基本上是做同样的事情。

我的问题是,我的lambda在对数据处理得到的对象调用JSON.stringify时总是超时,因此文件永远不会上传回S3。我的处理结果也是一个相当大的对象,但仍然较小的输入(cca )。(10)。

我已经尝试过使用fast-json-stringify库,但最终得到了同样的结果。

有没有人知道是否还有其他更快的方法将对象转换为字符串、缓冲区或流?

更新

这是我的代码:

代码语言:javascript
复制
async.waterfall(
  [
    (next) => {
      s3.getObject({
        Bucket: bucketName,
        Key: keyDownload
      }, next);
    },
    (response, next) => {
      next(null, processData(JSON.parse(response.Body)));
    },
    (data, next) => {
      s3.putObject({
        Bucket: bucketName,
        Key: keyUpload,
        Body: JSON.stringify(data)
      }, next);
    }
  ], 
  (err) => {
    if (err) {
      callback(err);
    } else {
      callback();
    }
  }
);
EN

回答 2

Stack Overflow用户

发布于 2019-09-24 07:01:20

你试过S3多部分上传了吗,我建议你去看看-

https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html

票数 0
EN

Stack Overflow用户

发布于 2019-09-24 10:40:41

  • 只是在看了下面的示例之后,随机地想了一下。
  • ,如果您正在使用aws创建lambda函数,只想知道您给出的-超时值是什么。这个例子说的是10秒,这绝对是很短的时间跨度。evaluation).
  • The
  • ,您也可以在aws控制台上检查/更改它,并尝试将其增加到10分钟,即600秒(这只是为了测试这是否是问题所在),在通过aws创建时,您可以在--timeout 10超时是可选值之后降到适当的值。因此,默认为3秒。最大允许值为900秒,即15 min.
  • Definitely多部分上传将有帮助。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58074150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档