【发布时间】:2022-01-02 14:02:55
【问题描述】:
我有一个快速服务正在尝试将对象写入 s3 存储桶,但我收到以下错误:
配置中缺少凭据
我在本地担任我的 AWS 角色,它将我的凭据设置在 .aws/credentials 中,然后在我的 Dockerfile 中我将它们复制到我的容器中。
RUN mkdir "/home/node/.aws" && touch "/home/node/.aws/config" && touch "/home/node/.aws/credentials"
RUN echo "${AWS_CREDENTIALS}" > "/home/node/.aws/credentials"
文档说:
开发工具包会自动检测 AWS 凭证设置为您的变量 环境并将它们用于 SDK 请求,无需 在您的应用程序中管理凭据。环境变量 您设置为提供您的凭据是:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN(可选)
所以我在使用 sdk 时不必手动管理我的凭据?
目前写入s3桶的代码:
import s3 from 'aws-sdk/clients/s3';
const s3Client = new s3({region: process.env['region']});
async upload() {
const params = {
Bucket: process.env['bucket'],
Key: 'test.json',
Body: somejsonfile
}
const res = s3Client.upload(params).promise();
return results;
}
【问题讨论】:
标签: node.js amazon-web-services express amazon-s3 aws-sdk