こんにちは!JQです!
今回はAmazon DyanamoDBのjsonドキュメントサポートのアップデートを受けて『Amazon DynamoDB編~jsonドキュメント01~』と題して、Amazon DynamoDB でjsonドキュメントのプットを試してみたいと思います。
JSONドキュメントのサポート
DynamoDBではJSONフォーマットのドキュメントをそのままDynamoDBの1アイテムとして保存できます。
試してみる
1.テーブルの作成
先ずはDyanamoDBのテーブルを作成します。
1#!/usr/bin/env ruby23# coding: utf-845require 'aws-sdk'67dynamo_db = Aws::DynamoDB::Client.new(8 :region => "ap-northeast-1",9 :access_key_id => "",10 :secret_access_key => ""11)1213res = dynamo_db.create_table(14 table_name: '',15 key_schema: [16 {17 attribute_name: 'host',18 key_type: 'HASH',19 },20 ],21 attribute_definitions: [22 {23 attribute_name: 'host',24 attribute_type: 'S',25 },26 ],27 provisioned_throughput: {28 read_capacity_units: 1,29 write_capacity_units: 1,30 },31)3233puts "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#!/usr/bin/env ruby23# coding: utf-845require 'aws-sdk'6require 'json'78dynamo_db = Aws::DynamoDB::Client.new(9 :region => "ap-northeast-1",10 :access_key_id => "",11 :secret_access_key => ""12)1314json_data = JSON.parse(File.read('access.json'))1516resp = dynamo_db.put_item(17 table_name: 'devknowcom',18 item: {19 'host' => json_data['host'],20 'document' => json_data21 }22)4.確認
コンソールから確認してみます。
jsonドキュメントとして保存されているのがわかります。