-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathHelloDynamoDB.html
136 lines (97 loc) · 3.04 KB
/
HelloDynamoDB.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!DOCTYPE html>
<html>
<head>
<title>Amazon DynamoDB Hello World</title>
<script src="js/aws-sdk.min.js"></script>
</head>
<body>
<h1> AWS DynamoDB Hello World</h1>
<h2>AWS SDK for JavaScript v2.1.33</h2>
While it's true, Amazon provides detailed documentation for DynamoDB, unfortunately the code snippets are incomplete, inconsistent and may contain errors. In the spirit of cutting through the confusion, here's a really simple DynamoDB example, that actually works.
<script type="text/javascript">
/*
-----------------------------------------------------------------
AWS configure
Note: this is a simple experiement for demonstration
purposes only. Replace the keys below with your own.
Do not include the secret key in an actual production
environment, because, then, it wont be secret anymore...
-----------------------------------------------------------------
*/
AWS.config.update({accessKeyId: 'AKIAJUPWRIYYQGDB6AFA', secretAccessKey: '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'});
// Configure the region
AWS.config.region = 'us-west-2'; //us-west-2 is Oregon
//create the ddb object
var ddb = new AWS.DynamoDB();
/*
-----------------------------------------------------------------
Update the Table
-----------------------------------------------------------------
*/
//update the table with this data
var params = {
Key: {
name: {S: 'John Mayo-Smith'},
city: {S: 'New York'}
},
AttributeUpdates: {
food: {
Action: 'PUT',
Value: {S: 'chocolate'}
}
},
TableName: 'sampletable',
ReturnValues: 'ALL_NEW'
};
//update the table
update();
/*
-----------------------------------------------------------------
Get Item from the Table
-----------------------------------------------------------------
*/
//attribute to read
var readparams = {
Key: {
name: {S: 'John Mayo-Smith'},
city: {S: 'New York'}
},
AttributesToGet: ['food'],
TableName: 'sampletable'
};
//get the item
read();
/*
-----------------------------------------------------------------
function update()
Description: Calls updateItem which is part of the AWS Javascript
SDK.
Returns: JSON object (the object is stringifyed so we can see
what's going on in the javascript console)
-----------------------------------------------------------------
*/
function update(){
ddb.updateItem(params, function(err, data) {
if (err) { return console.log(err); }
console.log("We updated the table with this: " + JSON.stringify(data));
});
}
/*
-----------------------------------------------------------------
function read()
Description: Calls getItem which is part of the AWS Javascript
SDK.
Returns: JSON object (the object is stringifyed so we can see
what's going on in the javascript console)
-----------------------------------------------------------------
*/
function read(){
ddb.getItem(readparams, function(err, data) {
if (err) { return console.log(err); }
console.log(": " + data);
console.log("John's favorite food is: "+ JSON.stringify(data.Item.food.S)); // print the item data
});
}
</script>
</body>
</html>