結構、APIサーバーを作成する作業が多かったのですが、
API Gatewatyならサーバーいらねー!ってことで、運用負担がスゲー減って最高。
ミドルウェアのバージョンやらなにやらも気にしないでいいので、
もう、すべてこいつでやっていきたいと思ってるくらい。
まぁ、まださわり始めたばかりなので、これからですが。
で、
AWS LambdaからDynamoDBにgetItemするときに、
パラメータの記述で結構ValidationExceptionを起こしてしまったので覚書。
Lambdaで、DynamoからgetItemするときに使えるものとして、
がある。
で、その違いでLambdaからDynamoDBに渡すJSON形式に気をつけないといけない。
AWS SDKの場合
var aws = require('aws-sdk'); var dynamo = new aws.DynamoDB(); //キーに型を付ける { "TableName": "user_info", "Key": { "Id": { "S": "STR000ABCD"}, "code": { "N": "1"} } }
DynamoDB Document SDKの場合
var doc = require('dynamodb-doc'); var dynamo = new doc.DynamoDB(); //キーに型を付けない { "TableName": "user_info", "Key": { "Id": "STR000ABCD", "code": 1 } }
aws-sdkとdynamo-docとでは、ダブルクオーテーションで囲むとか囲まないとか、
型指定するとか、しないとか、そういった部分で違いがある。
いろいろ検索でしてたんですが、なんでサンプルが、キーを"で囲んでるやつ、囲んでないヤツ、
シングルクオーテーションなやつなど、いろいろあるんでしょうね。。。
やってみると、ダブルクオーテーションで囲まないと、なーんにもエラーで通らないんですけどね。不思議。