web-dev-qa-db-ja.com

〜/ .aws / configから設定をロードする方法

変更ログ 言うLoad config from ~/.aws/config if AWS_SDK_LOAD_CONFIG is set.構成のロード方法に関する例やドキュメントが見つかりませんでした。助けて!

6
sreenivas

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
15
sreenivas

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()は、セッショントークンの有効期限が切れるまで機能しないことに注意してください。

1
Toon Vanvreckem

これに関するドキュメントがあります:

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

更新:

configcredentials作成および参照同時にです。 aws configureを実行すると、2つのファイルが作成されます。 AccessKeyとSecretKeyを含むcredentialsファイル-および応答タイプとリージョンを含むconfigファイル。 configファイルを明示的に定義または参照する必要はありません。

0
iSkore