2014年09月09日

javascriptだけでDynamoDBに読み書きする方法

このエントリーをはてなブックマークに追加
follow us in feedly
DynamoDBなんか使ってると言う人が多いので、使い方を知っておこうと思いました。
これも NoSQLです。

しかしDynamoDBは、ソースコードよりもAmazon Web Services側の設定の方がずっと面倒です。

データベース(DynamoDB)にアクセスしてselect,updateするだけならfacebookとかgoogleなんかの連携とかS3の設定なんか要りません。
そして、どうもこれはローカル環境でも実行出来る見たいです。





データベース作成するためには、AWSのDynamoDB から、

[Create Table] で、テーブルを作成します。
多分、これはあまり重要ではないです。



多分重要なのはIAM Management Consoleの方です。

こちらから、AWSにアクセスするユーザを作成するからです。

[Create New Users]でユーザ作成した時に、
Access Key ID

Secret Access Key
を記録しておきます。

そして、ユーザ一覧からどれかユーザを選んで、
Permissions の下 [Attach User Policy]をクリックします。

その、 Select Policy Template 中から、 今回の場合
Amazon DynamoDB Full Access なんかを[Select]すればいいと思います。

[Apply Policy]をクリックするのですが、その時、どうもボタン押しても反映されない事が良く有るみたいです。
ボタン押したので設定更新されたような気がしたんですが、反映されて無い事が何回もあったので...

反映されたなら、Permissions の下
User Policies に、 Policyが全部表示されてるはずです。表示されて無いと言う事は、設定が有効になってなかったと言う事です。








putItem時のエラーで
Failed to load resource: the server responded with a status of 400 (Bad Request) https://dynamodb.ap-northeast-1.amazonaws.com/

AccessDeniedException

これが、多分 accessKeyId,secretAccessKey が間違っているとか、Policyで許可されて無いとかです。

putItemが成功したなら、
Amazon DynamoDB Tablesの [Explore Table]で、内容を見ることが出来ます。

...しかしあまり気にしてなかったのですが、マルチバイト文字でも特に文字コードの設定を意識することなくputItem,getItem出来るようです。


Error: ValidationException: The provided key element does not match the schema


scanの方の実際のサンプル全然無いんですが、多分、これで内容を全部見れます。

table.scan({
Limit : 50
}, function(err, data) {
....


トラックバックURL

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星
 
 
 
サイト内検索
にほんブログ村 科学ブログへ
にほんブログ村
adsense
Archives
amazon
blogchart
QRコード
QRコード
Recent Comments