When using putItem or batchPutItem empty strings are not written to SDB. These writes do not seem to be included in the API request, maybe because "" == false somewhere.
To replicate:
var SimpleDb = require('simpledb');
var sdb = new SimpleDb.SimpleDB({
keyid: 'keyid',
secret: 'secret'
});
var fPutGet = function (inItemName, inValue) {
// Write the item to SDB and read it back
sdb.putItem(
'testDomain',
inItemName,
{ 'someAttribute': inValue },
function (inError, inResult, inMeta) {
console.log('putItem done (' + inItemName + ':' + inValue + '), error:', inError);
sdb.getItem(
'testDomain',
inItemName,
function (inError, inResult, inMeta) {
console.log('getItem done (' + inItemName + ':' + inValue + '), result:', inResult);
}
);
}
);
}
sdb.createDomain(
'testDomain',
function () {
console.log('createDomain done');
fPutGet('item1', 'not empty');
fPutGet('item2', '');
}
);
When using putItem or batchPutItem empty strings are not written to SDB. These writes do not seem to be included in the API request, maybe because "" == false somewhere.
To replicate: