2017-08-02 10 views
0

スクリプトを使用してデータベースを操作するのが初めてのので、HTML3とJavaScriptを使用してDynamoDBにアクセスする方法についてはthisチュートリアルで学んでいました。私は正常にムービーテーブルを作成し、1つのアイテムを追加しましたが、アイテムを読み込む際にエラーが発生しています。以下は、自分の資格情報でアイテムを読むためのスクリプト例です。ブラウザで使用しているAmazon DynamoDBのネットワークエラー

<html> 
<head> 
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.7.16.min.js"> 
</script> 

<script> 
AWS.config.update({ 
    region: "us-east-2", 
    endpoint: 'http://localhost:8000', 
    accessKeyId: "...", 
    secretAccessKey: "..." 
}); 

var docClient = new AWS.DynamoDB.DocumentClient(); 

function readItem() { 
    var table = "Movies"; 
    var year = 2015; 
    var title = "The Big New Movie"; 

    var params = { 
     TableName: table, 
     Key:{ 
      "year": year, 
      "title": title 
     } 
    }; 
    docClient.get(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); 
     } 
    }); 
} 

</script> 
</head> 

<body> 
<input id="readItem" type="button" value="Read Item" onclick="readItem();" /> 
<br><br> 
<textarea readonly id= "textarea" style="width:400px; height:800px"> 
</textarea> 

</body> 
</html> 

HTMLファイル内のボタンをクリックした後、私はこのエラーを取得:

Unable to read item: 
{ 
    "message": "Network Failure", 
    "code": "NetworkingError", 
    "time": "2017-08-02T14:32:36.416Z", 
    "region": "us-east-2", 
    "hostname": "localhost", 
    "retryable": true 
} 

私も試してみましたクエリをし、デモコードをスキャンして、私は同じ結果を得ます。私が持っている唯一のアイデアはローカルホストポートが正しくないかもしれないということですが、代わりにどのポートを使用できるかを確認する方法がわかりません。同様の問題についていくつかのフォーラムスレッドを読んだことがありますが、別のAmazon Webサービスでデータベースを使用しました。他の助けをいただければ幸いです!

答えて

0

ローカルマシンでDynamoDBが実行されていることを確認してください。このpageを参照してください。

1)を使用すると、テーブルは、HTMLに存在するキー値でMoviesと呼ばれていることを確認します)

2地元Dy​​namoDBのを実行します。次に、テキスト領域にデータを取得する必要があります

私はコードをテストしました。それは私のためにうまく動作します。

+0

DynamoDBのローカルバージョンがなければ、この方法を使用する方法はありますか? –

+0

AWS上で動作するDynamodbローカルまたはDynamodbに接続する必要があります。それ以外の場合は、どこからデータを取得しますか? – notionquest

+0

ああ、エンドポイントはローカルのデータベースを必要とする要求を得るためにローカルでなければならないので、何とかその時間の後に気付かなかった、ありがとう! –

関連する問題