JSFiddle - React, Tailwind, and code Playground
by russau
HTML
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.26.min.js"></script>
<div class="container theme-showcase" role="main">
<div class="col-sm-8">
<div class="form-group">
<label class="col-sm-2 control-label">access key</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="accessKeyId" value="AKIAIU5RSV5SQIMPMHSA" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">secret</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="secretAccessKey" />
</div>
</div>
<button class="btn btn-default" id="queryTable">Query Table</button>
<button class="btn btn-default" id="insertPlayer">Insert player</button>
<button class="btn btn-default" id="getPlayerList">Get Player List</button>
<button class="btn btn-default" id="getClicks">Get Clicks</button>
</div>
</div>
JavaScript
var intervalHandle;
$('#startPolling').click(function () {
var polling = $(this).is(':checked');
if (polling) intervalHandle = window.setInterval(pollDynamo, 3000);
else window.clearInterval(intervalHandle);
});
function pollDynamo() {
var dynamodb = new AWS.DynamoDB();
var params = {
TableName: 'Friends' /* required */
};
dynamodb.describeTable(params, function (err, data) {
if (err && err.code === 'ResourceNotFoundException') {
$('#createGlyph').removeClass('glyphicon-ok-sign').addClass('glyphicon-remove-sign');
} else if (err) {
console.log(err, err.stack); // an error occurred
} else {
$('#createGlyph').removeClass('glyphicon-remove-sign').addClass('glyphicon-ok-sign');
}
});
}
$('#createTable').click(function () {
var params = {
AttributeDefinitions: [{
AttributeName: 'User',
AttributeType: 'S'
}, {
AttributeName: 'City',
AttributeType: 'S'
}],
KeySchema: [ /* required */ {
AttributeName: 'User',
/* required */
KeyType: 'HASH' /* required */
}, {
AttributeName: 'City',
/* required */
KeyType: 'RANGE' /* required */
}],
ProvisionedThroughput: { /* required */
ReadCapacityUnits: 1,
/* required */
WriteCapacityUnits: 1 /* required */
},
TableName: 'Friends' /* required */
}
var dynamodb = new AWS.DynamoDB();
dynamodb.createTable(params, function (err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
});
$('#populateTable').click(function () {
var table = new AWS.DynamoDB({
params: {
TableName: 'Friends'
}
});
var countriesArr = $('#friends').val().split('\n');
...