我只是传递空值。这是我的 NodeJS 脚本,用于将数据从文件加载到 DynamoDB,我只是使用三元组来避免空字符串。
var AWS = require("aws-sdk");
var fs = require('fs');
// Make sure we got a filename on the command line.
if (process.argv.length < 3) {
console.log('Usage: node ' + process.argv[1] + ' FILENAME');
process.exit(1);
}
var filename = process.argv[2];
AWS.config.update({
region: "us-west-2",
//endpoint: "http://localhost:8000"
});
var docClient = new AWS.DynamoDB.DocumentClient();
console.log("Importing Addresses into DynamoDB. Please wait.");
var allObjs = JSON.parse(fs.readFileSync(filename, 'utf8'));
allObjs.forEach(function(obj) {
var params = {
TableName: "Address",
Item: {
"address_detail_pid": obj.address_detail_pid,
"flat_type": obj.flat_type == '' ? null : obj.flat_type,
"flat_number": obj.flat_number == '' ? null : obj.flat_number,
"level_type": obj.level_type == '' ? null : obj.level_type,
"level_number": obj.level_number == '' ? null : obj.level_number,
"number_first": obj.number_first == '' ? null : obj.number_first,
"street_name": obj.street_name == '' ? null : obj.street_name,
"street_type_code": obj.street_type_code == '' ? null : obj.street_type_code,
"locality_name": obj.locality_name == '' ? null : obj.locality_name,
"state_abbreviation": obj.state_abbreviation == '' ? null : obj.state_abbreviation,
"postcode": obj.postcode == '' ? null : obj.postcode,
"longitude": obj.longitude == '' ? null : obj.longitude,
"latitude": obj.latitude == '' ? null : obj.latitude
}
};
docClient.put(params, function(err, data) {
if (err) {
console.error("Unable to add obj", obj.address_detail_pid, ". Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("PutItem succeeded:", obj.address_detail_pid);
}
});
});