In bedingten Updates in DynamoDB können Sie daher nur dann die Elemente in einer Tabelle aktualisieren, wenn bestimmte Bedingungen übereinstimmen. Diese Funktion ist nützlich, um die Elemente anatomisch zu aktualisieren, wobei Ihr System entweder alle oder keine Ihrer Updates beeinflusst. Außerdem sind bedingte Updates nur erfolgreich, wenn der Artikel gleich geblieben ist, da Sie den Artikel zuletzt gelesen haben.
Dieser Blog -Beitrag zeigt alles über DynamoDB bedingte Updates. Es wird beschrieben.
So verwenden Sie bedingte Updates in DynamoDB
Um bedingte Updates in DynamoDB durchzuführen, verwenden Sie den Aktualisierungsprogramm und den Conditionexpressionsparameter. Der Parameter sollte die Bedingung annehmen, die erfüllt sein muss, um die erfolgreiche Anwendung des Updates zu erfordern. Sollte Ihr System die Bedingung aus dem einen oder anderen Grund nicht erfüllen, fällt das Update fehl und gibt einen Fehler zurück.
Insbesondere unterstützt der UpdateItem -Vorgang auch Aktualisierungsausdrücke. Vorgänge mit Update -Ausdrücken helfen dabei, jede Änderung anzugeben, die Sie in einem Element vornehmen sollten.
Ein dynamodb bedingter Aktualisierungsbeispiele sind wie folgt. Alle Beispiele verwenden Boto3, das AWS SDK für Python.
Beispiel 1: Nur ein Element aktualisieren, wenn ein bestimmtes Attribut einen bestimmten Wert hat.
Bedingte Updates helfen dabei, ein Element nur zu aktualisieren, wenn das Attribut einen bestimmten Wert hat. Ein Python -Beispiel davon ist unten gezeigt:
Boto3 importierenDieses Dienstprogramm aktualisiert den Element mit dem Primärschlüssel ID = 1234 im My-Table-Namen Tisch. Es wird die Werte von festlegen Attribut1 Und Attribut2 Zu 5678 Und A B C D, bzw. Das Update wird jedoch nur angewendet, wenn der aktuelle Wert von Attribut1 Ist 1234. Wenn der Wert von Attribut1 hat sich geändert, seit das Element zuletzt gelesen wurde, das Update fehlschlägt und Ihr System gibt einen Fehler zurück.
Beispiel 2: Nur ein Element aktualisieren, wenn das Element ein bestimmtes Attribut enthält
Der Code für eine solche bedingte Aktualisierung ist wie gezeigt:
Boto3 importierenDas obige Beispiel zeigt, wie ein Element in einer DynamoDB -Tabelle nur dann aktualisiert wird, wenn das Element ein bestimmtes Attribut enthält. In diesem Fall wird der Zustandsausdruck auf die Existenz der Existenz des C Attribut mit dem Attribute_exists Funktion. Wenn der Artikel nicht das hat C Attribut, das Update fällt fehl und gibt einen Fehler zurück.
Beispiel 3: Nur ein Element aktualisieren, wenn ein bestimmtes Attribut einen Wert hat, der einen bestimmten Wert überschreitet.
Schließlich können Sie Ihren Befehl festlegen, um ein Element nur zu aktualisieren, wenn ein bestimmtes Attribut größer als ein bestimmter Wert ist. Das Python -Dienstprogramm ist wie unten gezeigt
Boto3 importierenDie Abbildung zeigt, wie ein Element in einer DynamoDB -Tabelle nur dann aktualisiert wird, wenn ein bestimmtes Attribut einen Wert mehr als ein bestimmter Wert hat. In diesem Fall prüft der Zustandsausdruck, ob die zählen Attribut ist größer als 15 Verwendung der > Operator. Wenn der zählen Attribut ist höchstens 15, Das Update fällt fehl und Sie erhalten eine Fehlermeldung.
Abschluss
Die bedingte Expressionsfunktion von DynamoDB ist eine leistungsstarke Methode zur Angabe von Bedingungen beim Aktualisieren der Elemente in einer Tabelle. Es ist in vielen Fällen hilfreich. Sie können es beispielsweise verwenden, um sicherzustellen, dass ein Element nur aktualisiert wird, wenn es sich seit dem Lesen nicht geändert hat oder dass ein Element nur aktualisiert wird, wenn ein bestimmtes Attribut einen bestimmten Wert hat.