utils/dynamo_export.rb (24 lines of code) (raw):

#!/usr/bin/env ruby require 'aws-sdk-resources' require 'trollop' require 'awesome_print' require 'json' def convert_level(datahash) datahash.each do |k,v| if v.is_a?(Hash) datahash[k] = convert_level(v) else if v.is_a?(BigDecimal) datahash[k] = v.to_i end end end return datahash end opts = Trollop::options do opt :tablename, "Name of the table to dump", :type=>:string end dynamodb = Aws::DynamoDB::Client.new(region: 'eu-west-1') response = dynamodb.scan({ table_name: opts.tablename }) puts response.items.map{|item| convert_level(item)}.to_json