2017-10-24 16 views
1

概要:私はテーブル "testTable"から2レコードを得るためにjavascriptにaws-sdkを使用しています。私はそれぞれのキーの値も提供しています。batchGetがレスポンスにレコードを表示しないのはなぜですか?

オンラインヘルプ:私が2つのレコードがで返されることを期待して

{ 
    "Responses": 
    { "testTable": [] 
    }, 
    "UnprocessedKeys" : {} 
} 

私はhttp://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#batchGet-property

var batchGetItem = function() { 
    var params = { 
     RequestItems: { 
      "testTable": { 
       Keys:[ 
        { 
         "CaseID": "A1245", 
          "AssignedSupervisorName": "John" 
        }, 
        { 
         "CaseID": "A1247", 
         "AssignedSupervisorName": "Bob" 
        } 

       ] 
      } 
     } 
    }; 
    docClient.batchGet(params, function(err, data) { 
     if (err) { 
      document.getElementById('textarea').innerHTML = "Unable to read item: " + "\n" + JSON.stringify(err, undefined, 2); 
     } else { 
      document.getElementById('textarea').innerHTML = "GetItem succeeded: " + "\n" + JSON.stringify(data, undefined, 2); 
      $scope.readData = data; 
     } 
    }); 
} 

でのように来ているデータの値をドキュメントに従っています"testTable"が空の配列を返すだけです。

どこが間違っていますか?

答えて

0

JSコード内で使用しようとしているキーでテーブルが作成されていないと思われます。

paramskeysには、ダイナモブロックテーブルのプライマリキーとソートキーのみが含まれている必要があります。テーブルのソートキーとしてAssignedSupervisorNameが設定されているかどうかを確認する必要があります。

+0

私はパーティションキーとソートキーを持っています。 readItem関数を使用してレコードを取得できました。しかし何とかバッチ操作は何も返さない – rupali317

関連する問題