如何将DynamoDB Local与AWS Ruby SDK一起使用?

Pat*_*ois 6 ruby amazon-dynamodb aws-sdk

Amazon的文档提供了Java,.NET和PHP中有关如何使用DynamoDB Local的示例.您如何使用AWS Ruby SDK执行相同的操作?

我的猜测是你在初始化过程中传递了一些参数,但我无法弄清楚它们是什么.

dynamo_db = AWS::DynamoDB.new(
  :access_key_id => '...',
  :secret_access_key => '...')
Run Code Online (Sandbox Code Playgroud)

Bri*_*gon 17

您使用的是SDK的v1还是v2?你需要找到它; 从上面的简短片段,它看起来像v2.我已经包括了两个答案,以防万一.

v1回答:

AWS.config(use_ssl: false, dynamo_db: { api_verison: '2012-08-10', endpoint: 'localhost', port: '8080' })
dynamo_db = AWS::DynamoDB::Client.new
Run Code Online (Sandbox Code Playgroud)

v2回答:

require 'aws-sdk-core'
dynamo_db = Aws::DynamoDB::Client.new(endpoint: 'http://localhost:8080')
Run Code Online (Sandbox Code Playgroud)

当然需要根据需要更改端口号.


Sel*_*ani 6

现在aws-sdk版本2.7会抛出一个错误,如Aws::Errors::MissingCredentialsError:当密钥缺失时无法在没有设置凭据的情况下签署请求。所以下面的代码对我有用

dynamo_db = Aws::DynamoDB::Client.new(
  region: "your-region",
  access_key_id: "anykey-or-xxx",
  secret_access_key: "anykey-or-xxx",
  endpoint: "http://localhost:8080"
)
Run Code Online (Sandbox Code Playgroud)