SlideShare a Scribd company logo
SQLによるDynamoDBの操作
Genki&Sugawara
恵比寿の方から来ました
• twi%er:)@sgwr_dts
• github.com/winebarrel
• bitbucket.org/winebarrel
Codenize.toolsという
AWS関連ツール群作ってます
h"p://codenize.tools/
本題
DynamoDBつかってますか?
• 弊社では一部使ってます
• ヘビーな使い方はしていません
• でも検証はしています
DynamoDBはどうやって操作しますか?
AWSマネジメントコンソール?
DynamoDBはどうやって操作しますか?
AWS$CLI?
~$ aws dynamodb list-tables
{
"TableNames": [
"employees",
"hoge",
"hoge2"
]
}
DynamoDBはどうやって操作しますか?
プログラム
ddb.put_item(
table_name: 'table_name',
item: {
user_id: "1001",
name: "John",
age: 14,
birthday: "2000-01-01"
}
)
どれも結構めんどくさい…
閑話休題
いつもMySQLのオペレーションやってます
mysqlコマンドちょうべんり!
• PostgreSQL
• psql
• Oracle
• sqlplus
• MongoDB
• mongo
...
DynamoDBにも
シェルあっていいんじゃない?
作った(二年前)
ddbcli
h"ps://github.com/winebarrel/ddbcli
Installa'on
gem install ddbcli
h"ps://github.com/winebarrel/ddbcli/releases/tag/0.5.1
wget https://github.com/winebarrel/ddbcli/releases/download/0.5.1/ddbcli-0.5.1.gz
gunzip -c ddbcli-0.5.1.gz > ddbcli
chmod 755 ddbcli
文法
github.com/winebarrel/ddbcli#help
• CREATE'/'ALTER'/'DROP'TABLE
• Stream'/'LSI'/'GSI
• INSERT'/'UPDATE'/'DELETE
• bulkサポート
• SELECT'(Query)'/'SELECT'ALL'(Scan)
• Scan'filter
型
String
'London Bridge is...', "is broken down..." ...
Number
10, 100, 0.3 ...
Binary
x'123456789abcd...', x"123456789abcd..." ...
Identifier
`ABCD...` or Non-keywords
型
Set
('String', 'String', ...), (1, 2, 3, ...)
List
['String', (1, 2, 3), {foo: 'FOO', bar: 'BAR'}, ...]
Map
{key1:'String', "key2":(1, 2, 3), key3: ['FOO', 'BAR'], ...}
Bool
true, false
Null
null
Demo
基本的な操作
Demo2
MySQLからのインポート
Please&try&it&out!

More Related Content

SQLによるDynamoDBの操作