AWS Lambda:任务超时

2024-03-08

我的学校项目要求我们编写在 AWS Lambda 中运行的 Java 代码。它应该获取特定 URL 的源代码,然后将其上传到 S3 存储桶。 Java 代码应在 AWS Lambda 上运行。

我获取了 Java 中 String 变量的源代码。然后我有 while 循环尝试将字符串写入 /tmp 目录中的文件中。然后文件被上传到S3。

一切正常,但我被一个特定的 URL 困住了。我已经追踪到这个问题了:

try {
    BufferedWriter out = new BufferedWriter(new FileWriter("/tmp/url.txt"));
    out.write(source_code);  //Replace with the string 
    //you are trying to write  
    out.close();
}
catch (IOException e) {
    System.out.println("Exception ");
}

最奇怪的是,当我在本地测试代码时,一切正常。文件在我的计算机上的 /tmp 目录中创建,然后上传到 S3 存储桶。但是,当我在 Lambda 中运行代码时,出现以下错误:

Task timed out after 15.00 seconds

知道为什么 Lambda 在这种特定情况下无法将文件写入其临时目录并且可以与其他文件一起使用吗?


Amazon Lambda 旨在用作响应事件的事件驱动系统。流程是:

  • 某处发生某事triggersLambda(例如上传到 Amazon S3、数据进入 Amazon Kinesis 流、直接调用 Lambda 函数的应用程序)
  • 拉姆达函数是created,传递来自触发事件的数据
  • 拉姆达函数runs

Lambda 函数的最大执行时间限制为 15 分钟(最近从原来的 5 分钟超时增加了)。实际限制是在创建 Lambda 函数时配置的。之所以存在这种限制,是因为 Lambda 函数应该小而快,而不是大型应用程序。

你的错误消息说Task timed out after 15.00 seconds。这意味着AWS一旦运行时间达到 15 秒就有意停止该任务。它与该函数当时正在执行的操作无关,也与正在处理的文件无关。

To fix:增加 Lambda 函数配置页面上的超时设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS Lambda:任务超时 的相关文章

随机推荐