aws-sdk v3 не может найти учетные данные
Я использую версию 3 из aws-sdk, пытаюсь точно следовать справочной документации , но не могу загрузить учетные данные.
const {fromIni} = require("@aws-sdk/credential-provider-ini");
const credentials = fromIni({});
... выдает ошибку:
Unhandled Rejection (Error): Profile default could not be found or parsed in shared credentials file.
А также:
const {parseKnownFiles} = require("@aws-sdk/credential-provider-ini");
const pkf = parseKnownFiles();
... дает ошибку, которая, как я думаю, может быть причиной:
TypeError: Cannot read property 'loadedConfig' of undefined
Если он не может найти известный файл учетных данных, он определенно не найдет там файл по умолчанию.
Тем не менее, я уверен, что учетные данные есть:
PS C:\> aws sts get-caller-identity --profile="default"
{
"UserId": "*********************",
"Account": "************",
"Arn": "arn:aws:iam::************:user/*****"
}
Как загрузить свои учетные данные в aws-sdk v3?
3 ответа
Вам нужно пройти AWS
profile
в
fromIni()
. это
default
в твоем случае.
const {fromIni} = require("@aws-sdk/credential-provider-ini");
const credentials = fromIni({profile: 'default'});
Я тоже боролся с общими файлами учетных данных. Я знаю, что это неподходящий способ из соображений безопасности, но вы можете попробовать следующий пример, если вас ограничивает время:
const client = new LexRuntimeV2Client({
region: process.env.REACT_APP_AWS_REGION,
credentials: {
accessKeyId: process.env.REACT_APP_AWS_ACCESS_KEY,
secretAccessKey: process.env.REACT_APP_AWS_SECRET_ACCESS_KEY
},
});
Во фрагменте я использую переменные среды и конкретного клиента (AWS Lex), но вы можете заменить их своими ключами, регионом и клиентом. Я не рекомендую жестко кодировать ключи, но во время разработки это должно работать как временное решение.
у меня была такая же проблема, просто выполните следующие действия
https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials_profiles.html
поместите папку .aws с файлом учетных данных в домашнюю (linux) или %UserProfile% (windows)