内容
Railsのアプリケーションを作っていて環境変数を使いたいのですがENV["NAME"]としてもコード上で動作しません。
やったこと
vi ~/.bash_profile
としてbash_profileに書き込み
export AWS_ACCESS_KEY_ID=IDIDIDID export AWS_SECRET_ACCESS_KEY=KEYKEYKEYKEY export AWS_BUCKET_NAME=bucket-name
sourceして
source ~/.bash_profile
使えるようになるのかと思ってRailsのコードを下記のように書き換えました。
Ruby
1s3 = Aws::S3::Resource.new(region: "リージョン名 ここはベタがき", credentials: Aws::Credentials.new(ENV["AWS_ACCESS_KEY_ID"], "アクセスキーここは ベタがき"))
もともと全てベタがきだったところをcredentialsの最初の引数をENVに変えました。
そうすると
Aws::Errors::MissingCredentialsError in Top#index
というエラーで動かなくなります。
env | grep AWS や printenvしても環境変数はあるようです。
ただ、rails c してインタプリタを立ち上げたときにENVと入力すると、設定されたはずのものが出てきません。
そこが原因なのかなと思っているのですが、どうしたら直せるのでしょうか?
回答1件
あなたの回答
tips
プレビュー