Ruby on Rails DynamoDB AWS SDK v2

Kel*_*vin 2 ruby ruby-on-rails amazon-web-services amazon-dynamodb ruby-on-rails-4

我正在尝试使用我的Rails应用程序设置DynamoDB.我在轨道4上,我正在使用aws sdk v2.我想查询名为'RoomRaw'的数据库中的项目.

在我的Gemfile中:

gem 'aws-sdk', '~> 2'
Run Code Online (Sandbox Code Playgroud)

在config/initializers/aws.rb中:

Aws.config({
  access_key_id: 'xxxxxxxx',
  secret_access_key: 'xxxxxxxxxxxx',
  region: 'ap-southeast-1'
})
Run Code Online (Sandbox Code Playgroud)

在我的控制器中:

dynamo_db = Aws::DynamoDB::Client.new
dynamo_db.query({
  table_name: 'RoomRaw',
  key_conditions: {
    '_id' => {
      comparison_operattor: 'EQ',
      attribute_value_list: ['12345']      
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

uninitialized constant WelcomeController::Aws
Run Code Online (Sandbox Code Playgroud)

任何建议表示赞赏.

Tre*_*owe 5

似乎有一些小问题.

  • 未初始化的常量错误 - 在添加gem依赖项后重新启动Rails应用程序aws-sdk.

  • SDK v2中的配置与v1略有不同.在版本2中,Aws.config不是方法,它是一个vanilla Ruby哈希.

请尝试以下方法:

Aws.config.update({
  access_key_id: 'xxxxxxxx',
  secret_access_key: 'xxxxxxxxxxxx',
  region: 'ap-southeast-1'
}) 
Run Code Online (Sandbox Code Playgroud)