Ich versuche mit einer Knoten-Lambda-Funktion zwischen einem Datumsbereich zu scannen. Ich habe die Daten korrekt gescannt, aber ich kann nicht scheinen, dass der Datumsausdruck richtig funktioniert.Wie scannen Sie mit Lambda und DynamoDB zwischen den Datumsbereichen?
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
exports.handler = function(event, context) {
var tableName = "MyDDBTable";
dynamodb.scan({
TableName : tableName,
FilterExpression: "start_date < :start_date",
ExpressionAttributeValues: {
":start_date": {
"S": "2016-12-01"
}
}
}, function(err, data) {
context.succeed(data);
});
};
Dies ist derzeit nicht versuchen, zwischen einem Bereich zurückzukehren, es ist nur ein einziges Datum im Moment suchen. Ich wollte dem Ausdruck keinen and
hinzufügen, bis ich wusste, dass das funktionierte.
{
"end_date": {
"S": "2016-12-02"
},
"name": {
"S": "Name of document"
},
"start_date": {
"S": "2016-10-10"
},
"document_id": {
"N": "7"
}
}
Die document_id
ist mein Primärschlüssel:
Ein Beispieldokument in meinem DynamoDB ist wie so strukturiert. Ich bin ziemlich neu in dieser ganzen Lamdba/DynamoDB-Kombination, daher mag ich dies komplett falsch eingerichtet haben, aber das ist es, was ich durch meine Forschung geschafft habe.
Was ich letztendlich erreichen möchte, ist ein Startdatum und ein Enddatum, alle DynamoDB-Dokumente, die einen Datumsbereich innerhalb haben. Jede Hilfe würde sehr geschätzt werden.
Mögliches Duplikat [? Wie DynamoDB nach Datum abgefragt wird (Bereich Key), ohne offensichtliche Raute-Taste] (http://stackoverflow.com/ Fragen/35963243/How-to-Abfrage-Dynamodb-by-date-Bereich-Schlüssel-mit-keine-offensichtliche-Hash-Schlüssel) – kixorz