Как составить список существующих профилей AWS с помощью JS SDK?

#aws-sdk-js

#aws-sdk-js

Вопрос:

Я хотел бы составить список профилей с помощью AWS JS SDK, чтобы пользователи могли выбрать профиль AWS, который они хотят использовать для остальной части выполнения кода.

Я знаю, что могу попросить SDK загрузить учетные данные из профиля. Но я хочу перечислить эти профили.

Профили хранятся в ~/.aws/credentials по умолчанию, но на их расположение могут влиять различные переменные среды. Вот почему я бы предпочел не читать этот файл напрямую, а вместо этого полагаться на логику SDK.

Конечное приложение — это приложение CLI с полным доступом к компьютеру пользователя (NodeJS, не запущенное в браузере).

Ответ №1:

Оказывается, в версии 3 JS SDK есть пакет только для этого:

 npm install @aws-sdk/shared-ini-file-loader
 
 const sharedIniFileLoader = require('@aws-sdk/shared-ini-file-loader');

const profiles = await sharedIniFileLoader.loadSharedConfigFiles();
 

Комментарии:

1. Чтобы получить только имена профилей, вы можете получить доступ к configFile значению: const profileNames = Object.keys(profiles.configFile)