こんにちは!JQです!
今回はAmazon DyanamoDBのjsonドキュメントサポートのアップデートを受けて『Amazon DynamoDB編~jsonドキュメント01~』と題して、Amazon DynamoDB でjsonドキュメントのプットを試してみたいと思います。
JSONドキュメントのサポート
DynamoDBではJSONフォーマットのドキュメントをそのままDynamoDBの1アイテムとして保存できます。
試してみる
1.テーブルの作成
先ずはDyanamoDBのテーブルを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#!/usr/bin/env ruby # coding: utf-8 require 'aws-sdk' dynamo_db = Aws::DynamoDB::Client.new( :region => "ap-northeast-1", :access_key_id => "", :secret_access_key => "" ) res = dynamo_db.create_table( table_name: '', key_schema: [ { attribute_name: 'host', key_type: 'HASH', }, ], attribute_definitions: [ { attribute_name: 'host', attribute_type: 'S', }, ], provisioned_throughput: { read_capacity_units: 1, write_capacity_units: 1, }, ) puts "table: #{res.table_description[:table_name]}" |
2.jsonの用意
続いて登録するjsonを用意します。
今回は以下のようなjsonを用意しました。
access.json
1 |
{"host":"127.0.0.1","user":"-","method":"GET","path":"/","code":"200","size":"11764","referer":"-","agent":"curl/7.35.0"} |
3.テーブルへの登録
テーブルへ登録してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/usr/bin/env ruby # coding: utf-8 require 'aws-sdk' require 'json' dynamo_db = Aws::DynamoDB::Client.new( :region => "ap-northeast-1", :access_key_id => "", :secret_access_key => "" ) json_data = JSON.parse(File.read('access.json')) resp = dynamo_db.put_item( table_name: 'devknowcom', item: { 'host' => json_data['host'], 'document' => json_data } ) |
4.確認
コンソールから確認してみます。
jsonドキュメントとして保存されているのがわかります。
いかがでしたでしょうか?
次回もお楽しみに!!!