Chýba poverenia v config, keď sa snaží dať objekt s3 vedierko

0

Otázka

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;
}
1

Najlepšiu odpoveď

0

Je uzol právo užívateľa, ktorý sa spustiť tento kód?

Je súbor /home/node/.aws/credentials vyzerá ako niečo, ako že:

[default]
aws_access_key_id = <AAK>
aws_secret_access_key = <ASK>

Ladenie, môžete sa pokúsiť skúste nasledujúce: Môžete skúsiť pridať váš AWS poverenia priamo v kóde, ako že:

AWS.config.update({
    accessKeyId: "<AAK>",
    secretAccessKey: "<ASK>",
    "region": "<REGION>"
});

Alternatívne, môžete sa pokúsiť odstrániť /home/node/.aws/credentials súbor a premiestnite poverenia /home/node/.aws/config súbor namiesto:

[default]
region=<REGION>
output=json
aws_access_key_id = <AAK>
aws_secret_access_key = <ASK>

A prípadne môžete skúsiť pridať poverenia a regiónu, ako env premenných vo vašom Dockerfile:

ENV AWS_ACCESS_KEY_ID=<AAK>
ENV AWS_SECRET_ACCESS_KEY=<ASK>
ENV AWS_DEFAULT_REGION=<REGION>
2021-11-25 08:53:02

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................