aws-sdk-jsは.aws/credentialsを自動で読み込む
↓そもそもコードが古い
だから以下のようなコードを書く必要はない
code:ts
import aws from 'aws-sdk';
aws.config.update({
accessKeyId: 'XXXXXXXXXXXX',
secretAccessKey: 'XXXXXXXXXXXXXXXXX',
});
docs
SDK は、環境内の変数として設定されている AWS 認証情報を自動的に検出して SDK リクエストに使用する
手順
$ echo $AWS_PROFILE等で、切り替わっていることを確認する
デバッグ用コードを実行してみる
code:ts
import aws from 'aws-sdk';
aws.config.getCredentials(err => {
if (err) console.log(err.stack);
else {
console.log('Access key:', aws.config.credentials.accessKeyId);
console.log('Secret access key:', aws.config.credentials.secretAccessKey);
}
});
これで切り替わっていない場合
process.env.AWS_PROFILEがundefinedになっていると、defaultのPROFILEが読み込まれてしまう
env fileに、AWS_PROFILE='hogehoge'を追記する