I'm initializing an s3 client with credentials coming from a profile in the shared ini file. I'd like to setup the default region using the same.
~\.aws\credentials
[myprofile]
aws_access_key_id = ...
aws_secret_access_key = ...
~\.aws\config
[profile myprofile]
region = eu-west-1
My code
import {S3} from '@aws-sdk/client-s3';
import {fromIni} from '@aws-sdk/credential-providers';
const s3Client = new S3({
credentials: fromIni({
profile: 'myprofile',
}),
});
await s3Client.listBuckets({});
The error I'm getting is Error: Region is missing and the output of calling fromIni is
{
accessKeyId: '...',
secretAccessKey: '...',
sessionToken: undefined
}
Why region isn't loaded from the shared config file?
UPDATE
fromIni docs notes that
Profiles that appear in both files will not be merged, and the version that appears in the credentials file will be given precedence over the profile found in the config file.
Apart from the obvious break from the usual configuration standards, moving region from config to credentials generates the same error.
~\.aws\credentials
[myprofile]
aws_access_key_id = ...
aws_secret_access_key = ...
region = eu-west-1