@aws-sdk/credential-providers
from aws-sdk-js v3
docs
https://zenn.dev/luma/articles/bd3c59b3d7682d
fromSSO()
fromEnv()
fromInstanceMetadata()
instanceが自動で読み込んでくれるやつ
keyを発行しないで済む
code:ts
import { S3Client, ListBucketsCommand } from '@aws-sdk/client-s3';
import { fromInstanceMetadata } from '@aws-sdk/credential-providers';
const credentials = fromInstanceMetadata();
const s3Client = new S3Client({
credentials,
})
fromIni()で読み込む
code:ts
const credentials = fromIni({ profile: 'hogehoge' });
const a = await credentials();
console.log(a);
const client = new S3Client({ credentials });
profile名を指定しないとdefualtのものが表示されていた
おとなしく、.envに追加してfromEnv()で読み込むようにした
code:ts
import { fromInstanceMetadata, fromEnv } from '@aws-sdk/credential-providers';
export const createAwsCredentials = () => {
if (process.env.NODE_ENV === 'production') {
return fromInstanceMetadata();
} else {
return fromEnv();
}
};