Ich verwende DynamoDBMapper und möchte nur dann und bedingt speichern, wenn die Kombination aus Hashschlüssel und Bereichsschlüssel nicht vorhanden ist. Ich weiß, dass es Möglichkeiten gibt, UUIDs zu verwenden, um die Möglichkeit einer Kollision zu reduzieren, aber ich möchte mich durch bedingte Speicherungen schützen.DynamoDBMapper für bedingte speichert
Ich stieß auf this article, die DynamoDBSaveExpression verwendet jedoch kann ich nicht angeben, dass die Bedingung "Hashkey AND rangekey" nicht existieren kann. Die API spezifiziert eine withConditionalOperator
Methode, aber ich kann das in meiner Klasse nicht sehen. Ich benutze die neueste aws java sdk auch von here.
Irgendwelche Vorschläge, wie Sie bedingt speichern können? Oder was ich falsch mache?
Danke Mike. Ich habe festgestellt, dass ich meine IDE nicht mit dem Gradle-Build synchronisiert habe und daher das neueste AWS-SDK in der IDE nicht verfügbar war. Sobald ich es synchronisiert habe, wurde die Methode setConditionalOperator verfügbar. Danke für deine Antwort. Es ist korrekt, also habe ich es so markiert. – n00b
Ist setConditionalOperator erforderlich? Ist es nicht Standard, alle Bedingungen zu überprüfen? – iamprem
Es gefunden! "Wenn ConditionalOperator nicht angegeben wird, ist AND der Standardwert." von hier aus unter dem Bedingungsoperator Abschnitt: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html – iamprem