スクリプトを使用してデータベースを操作するのが初めてのので、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サービスでデータベースを使用しました。他の助けをいただければ幸いです!
DynamoDBのローカルバージョンがなければ、この方法を使用する方法はありますか? –
AWS上で動作するDynamodbローカルまたはDynamodbに接続する必要があります。それ以外の場合は、どこからデータを取得しますか? – notionquest
ああ、エンドポイントはローカルのデータベースを必要とする要求を得るためにローカルでなければならないので、何とかその時間の後に気付かなかった、ありがとう! –