「NameError: uninitialized constant AWS」のエラーが出た時の対応メモ。
エラー内容
NameError: uninitialized constant AWS
原因
NameError: uninitialized constant AWS. If you receive this error, you likely have upgraded to version 2 of the aws-sdk gem unintentionally. Version 2 uses the Aws namespace, not AWS. This allows version 1 and version 2 to be used in the same application.
参考:https://github.com/aws/aws-sdk-ruby#nameerror-uninitialized-constant-aws
対応
ネームスペースの修正。
version 1(修正前)
AWS.config({ :access_key_id => ENV["AWS_ACCESS_KEY_ID"], :secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"] })
version 2(修正後)
Aws.config.update({ region: 'us-west-2', credentials: Aws::Credentials.new(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']) })
リージョンの指定は適宜。