You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda函数下载S3小文件超时问题排查求助

Lambda从S3下载文件超时问题解决

核心问题修正

你的代码中transformToString()是异步方法,但未使用await等待其执行完成,导致返回的是未解析的Promise,后续流程无法正确获取SQL内容,最终引发Lambda函数超时。

修正后的代码:

const { GetObjectCommand, S3Client } = require("@aws-sdk/client-s3");

async function getResourceFromS3() {
    const s3Client = new S3Client({});
    const command = new GetObjectCommand({
        Bucket: "devops-yamls",
        Key: "resource/test-init.sql"
    });

    const s3Response = await s3Client.send(command);
    // 关键:添加await等待字符串转换完成
    const sqlStatement = await s3Response.Body.transformToString();
    return sqlStatement;
}

额外排查方向

  • IAM权限验证:确认Lambda执行角色拥有s3:GetObject权限,权限缺失可能导致隐性请求阻塞。
  • VPC网络配置:如果Lambda部署在VPC内,需确保VPC配置了S3网关端点,或通过NAT网关能访问公网,网络不通会直接导致S3请求超时。

内容的提问来源于stack exchange,提问作者Ádám Sütő

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:58:18