DynamoDB Abfrage mit Lambda - (node.js): Abfrage-key-Zustand, nicht unterstützt
Ich versuche Abfrage meiner dynamoDB aus einer Lambda-Funktion. Meine Tabelle verwendet, "id" als hash-Schlüssel. Ich habe versucht, beide Versionen unten und erhalten die entsprechenden Fehlermeldungen. Was mache ich falsch?
var params = {
TableName : "addresses",
KeyConditionExpression: "id = :id AND city = :city",
ExpressionAttributeValues: {
":id": "Austria",
":city": "Salzburg"
}
};
Nicht Abfrage. Fehler: {
"message": "Abfrage-key-Bedingung nicht unterstützt",...}
var params = {
TableName : "addresses",
KeyConditionExpression: "city = :city",
ExpressionAttributeValues: {
":city": "Salzburg"
}
};
Nicht Abfrage. Fehler: {
"message": "- Abfrage-Bedingung verpasste key-schema-element-id:",...}
EDIT:
Ich jetzt Hinzugefügt, sekundäre Indizes, aber immer noch der gleiche Fehler:
- quering für KeyConditionExpression: "id = :id" funktioniert? und haben Sie Auswahl-Taste?
- Danke für den Hinweis. Ich versuchte einfach nur mit der id, ohne die Stadt Zustand, und es funktioniert. Wie kann ich weitere Bedingungen hinzufügen? Ich glaube nicht, verwenden Sie eine Palette Schlüssel
- ich beantworte es (um +1 🙂 )
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn Ihre hash-Schlüssel 'id', dann ist Sie schräg-Abfrage:
oder:
können Sie die Abfrage dynamodb nur von hash-und range-Taste.
also Ihrer Abfrage enthalten soll immer Raute-Taste (id). wenn Sie möchten, um die Abfrage von 'city' auch, Sie sollten 'Stadt' als range-Taste, um dynamodb-Tabelle (oder lokalen sekundären index)
dann können Sie die Abfrage für einen Datensatz mit
'id'
und'city'
.update:
wenn Sie möchten, um eine Abfrage nach
'city'
dann können Sie einfach fügen Sie den globalen sekundären index zu der Tabelle.