変更ログ 言うLoad config from ~/.aws/config if AWS_SDK_LOAD_CONFIG is set.
構成のロード方法に関する例やドキュメントが見つかりませんでした。助けて!
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()
は、セッショントークンの有効期限が切れるまで機能しないことに注意してください。
これに関するドキュメントがあります:
awscli ツールをインストールしてこれを設定し、ターミナルでaws configure
を実行することをお勧めします。デフォルトでは、ローカルホストで実行しているものはすべて、別のプロファイルを想定するように指定されていない限り、config
ファイルにリストされている資格情報を想定します。
最初のリンクからの例:
AWS.config.credentials = new AWS.SharedIniFileCredentials( { profile: 'work-account' } );
CLIを使用してスクリプトを実行している場合:
AWS_PROFILE=work-account node script.js
JavaScriptではなくCLIツールのみを使用している場合:
aws s3 ls --profile work-account
更新:
config
とcredentials
は作成および参照で同時にです。 aws configure
を実行すると、2つのファイルが作成されます。 AccessKeyとSecretKeyを含むcredentials
ファイル-および応答タイプとリージョンを含むconfig
ファイル。 config
ファイルを明示的に定義または参照する必要はありません。