【问题标题】:Error: Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1错误:配置中缺少凭据,如果使用 AWS_CONFIG_FILE,请设置 AWS_SDK_LOAD_CONFIG=1
【发布时间】:2020-11-19 23:02:47
【问题描述】:

这是我的 lambda 代码

import AWS from "aws-sdk";
import response from "../../utils/response";

export const importProductsFile = async event => {
    // noinspection JSUnresolvedVariable
    if (!event.queryStringParameters || !event.queryStringParameters.name) {
        return response({ message: 'Bad request' }, 400);
    }

    const s3 = new AWS.S3({ region: 'eu-west-1' });
    try {
        const res = await s3.getSignedUrlPromise('putObject', {
            Bucket: 'static_buck',
            Key: `uploaded/${event.queryStringParameters.name}`,
            Expires: 60,
            ContentType: 'text/csv'
        });
        return response(res);
    } catch (e) {
        return response({ message: e.message || 'Unknown error' }, 500);
    }
}

上述 lambda 有时会因“缺少凭据错误”而失败,有时会因超时“任务在 6.01 秒后超时”而失败。 服务器抛出错误,本地 lambda 被 serverless 成功调用。为什么 sdk 看不到 aws 凭据?谢谢

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3 aws-sdk


    【解决方案1】:

    如果这对任何人都有帮助,那么问题是由 webpack-dotenv 插件引起的。它阻止了全局环境变量,因此 aws-sdk 无法访问凭据。

    【讨论】:

    • 但我没有使用 webpack-dotenv 插件。仍然 aws-sdk 无法访问 webpack 构建的凭据
    猜你喜欢
    • 2020-11-28
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 2020-12-04
    • 2022-09-28
    • 1970-01-01
    相关资源
    最近更新 更多