DynamoDBとGoogleスプレッドシートを相互同期するやつ

confdのDynamoDBをGoogleスプレッドシートで管理したかったので作りました。

docs.google.com

使い方

まず、以下のようにDynamoDBのテーブルを作ります。(confdのと同じ

aws dynamodb create-table \
    --region ap-northeast-1 --table-name hello \
    --attribute-definitions AttributeName=key,AttributeType=S \
    --key-schema AttributeName=key,KeyType=HASH \
    --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1

ついでにddbcliを使ってテーブルにデータを入れておきます。

$ ddbcli
ap-northeast-1> insert into hello (key, value) values ('foo', 'bar');
// 1 row changed (0.29 sec)

ap-northeast-1> select all * from hello;
[
  {"key":"foo","value":"bar"}
]
// 1 row in set (0.07 sec)

したらば上記のスプレッドシートをコピーします。

コピーしたらスクリプトエディタを開きます。

f:id:winebarrel:20160901213655p:plain

config.gsというスクリプトがあるので、それを適当に編集します。

f:id:winebarrel:20160901213835p:plain

メニューからDynamoDBLoad from DynamoDBを選択すると、DynamoDBからスプレッドシートにデータが読み込まれます。

f:id:winebarrel:20160901214114p:plain

スプレッドシートを適当に編集して、DynamoDBSave to DynamoDBを選択すると、データがDynamoDBに保存されます。

f:id:winebarrel:20160901214244p:plain

$ ddbcli
ap-northeast-1> select all * from hello;
[
  {"key":"zoo","value":"baz"},
  {"key":"foo","value":"BAR"}
]
// 2 rows in set (0.05 sec)

参考にしたりフォークしたりしたやつ