Mám expresní služba, která se snaží napsat objektu do s3 kbelíku, ale já jsem dostat následující chybu:
Chybí pověření v konfiguračním
Předpokládám, že můj AWS roli lokálně který stanoví mého pověření v .aws/credentials
pak se v mém Dockerfile jsem se kopírování je do kontejneru.
RUN mkdir "/home/node/.aws" && touch "/home/node/.aws/config" && touch "/home/node/.aws/credentials"
RUN echo "${AWS_CREDENTIALS}" > "/home/node/.aws/credentials"
Dokumentace říká:
SDK automaticky detekuje AWS pověření nastavit jako proměnné ve prostředí a využívá je pro SDK žádostí, což eliminuje potřebu správa pověření v aplikaci. Proměnné prostředí, které můžete nastavit, aby poskytnout své přihlašovací údaje jsou:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN (volitelné)
Takže nemusím ručně spravovat své pověření při použití sdk?
V současné době kód pro zápis do s3 kbelíku:
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;
}