Mám express service, ktorý sa snaží písať objektu s3 vedierko, ale ja som dostať nasledujúce chybové hlásenie:
Chýba poverenia v config
Ja som za predpokladu, že môj AWS úlohu lokálne, ktorá stanovuje moje poverenia v .aws/credentials
potom v mojom Dockerfile som ich kopírovanie do mojej nádobe.
RUN mkdir "/home/node/.aws" && touch "/home/node/.aws/config" && touch "/home/node/.aws/credentials"
RUN echo "${AWS_CREDENTIALS}" > "/home/node/.aws/credentials"
Dokumentácia hovorí:
SDK automaticky zistí AWS poverenia nastaviť ako premenné vo vašom životné prostredie a využíva ich pre SDK žiadosti, eliminuje potrebu spravovať poverenia vo vašej aplikácii. Premenné prostredia, ktoré môžete nastaviť, aby vaše poverenia sú:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN (voliteľné)
Tak som sa nebudete musieť manuálne riadiť svojho poverenia pri používaní sdk?
V súčasnosti kód pre písanie na s3 vedro:
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;
}