журнал изменений говорит: Load config from ~/.aws/config if AWS_SDK_LOAD_CONFIG is set.
Не удалось найти примеры или документация о том, как загрузить конфиг. Любая помощь!
Как загрузить конфигурацию из ~/.aws/config
Ответы (3)
В том, как aws-sdk загружает конфигурацию, есть немного волшебства.
либо установите переменную env
export AWS_SDK_LOAD_CONFIG="true"
или перед загрузкой набора aws-sdk
process.env.AWS_SDK_LOAD_CONFIG = true;
Затем загрузите модуль aws;
var AWS = require('aws-sdk');
Вы можете получить доступ к региону напрямую,
AWS.config.region
Ответ sreenivas правильный. Это также кажется единственным способом сделать это без написания пользовательской функции.
Я проследил это в исходный код и способ загрузки ~/.aws/config
похож на этот псевдокод:
if process.env.AWS_SDK_LOAD_CONFIG:
return load('~/.aws/credentials').overwrite('~/.aws/config')
else:
return load('~/.aws/credentials')
Это также означает, что вы можете установить переменную среды после require('aws-sdk')
, если вы сделаете это до new SharedIniFileCredentials({..})
или credentials.refresh()
. Имейте в виду, что credentials.get()
не будет работать, пока не истечет срок действия маркера сеанса.
Для этого есть документация:
- ЗДЕСЬ: Загрузка узла Общие учетные данные
- ЗДЕСЬ: Загрузка файла JSON учетных данных узла
- ЗДЕСЬ: Начало работы с NodeJS< /а>
Я бы рекомендовал установить инструмент awscli, чтобы настроить его, а затем запустить aws configure
в своем терминале. По умолчанию все, что вы запускаете на своем локальном хосте, будет использовать учетные данные, указанные в вашем файле config
, если не указано, что вы используете другой профиль.
Пример из первой ссылки:
AWS.config.credentials = new AWS.SharedIniFileCredentials( { profile: 'work-account' } );
Если вы используете CLI для запуска скрипта:
AWS_PROFILE=work-account node script.js
Если вы используете только инструмент CLI, а не JavaScript:
aws s3 ls --profile work-account
Обновление:
config
и credentials
создаются и упоминаются в одно и то же время. Когда вы запускаете aws configure
, он создает два файла. Файл credentials
, содержащий AccessKey и SecretKey, и файл config
, содержащий тип ответа и регион. НЕТ необходимости явно определять или ссылаться на файл config
.
aws configure
, он создает два файла. Файл credentials
, содержащий AccessKey и SecretKey, и файл config
, содержащий тип ответа и регион. НЕТ необходимости явно определять или ссылаться на файл config
- person iSkore; 09.06.2017
AWS_SDK_LOAD_CONFIG
в истинное значение, SDK автоматически загрузит файл~/.aws/config
так же, как это сделал бы интерфейс командной строки AWS. Какой пример вы ищете? - person giaour   schedule 08.06.2017