Amazon DynamoDB support these datatype for data
– String
– Binary
– Number
– StringSet
– NumberSet
– BinarySet
– Map
– List
– Boolean
– Null
AWS provides command line tool to SCAN DynamoDB Tables and export as JSON file
# /usr/local/bin/aws dynamodb scan –table-name Users –query ‘Items[*]’ –region us-east-1 –output json
Amazon DynamoDB Formatted JSON using JQ
But AWS DynamoDB exports Table in special JSON format … we can’t import in MySQL without process it to normal JSON file 🙁
<?php echo "<pre>"; $tmp = "Users.json"; function aws_dd_json_converter($old) { $new = array(); $new1 = array(); foreach($old as $k=>$v) { foreach($v as $k1=>$v1) { $new[$k1] = isset($v[$k1]['S'])?$v[$k1]['S']:$v[$k1]['N']; // we can add more datatype here } $new1[] = $new; } return $new1; } echo "<strong>Original AWS DynamoDB JSON</strong><br>"; echo $line = file_get_contents($tmp); $array = json_decode($line,true); $array = aws_dd_json_converter($array); echo "<br><strong>Simple PHP Array for AWS DynamoDB JSON</strong><br>"; print_r($array); echo "<br><strong>Simple JSON for AWS DynamoDB JSON</strong><br>"; print(json_encode($array, JSON_PRETTY_PRINT)); ?>