Zatem warunkowe aktualizacje w DynamoDB pozwolą na aktualizację elementów tylko w tabeli tylko wtedy, gdy pasują do określonych warunków. Ta funkcja przydaje się do anatomicznej aktualizacji elementów, w wyniku czego Twój system wpłynie na wszystkie lub żadne z twoich aktualizacji. Poza tym aktualizacje warunkowe odniosą sukces tylko wtedy, gdy przedmiot pozostanie taki sam od czasu ostatniego czytania elementu.
Ten post na blogu podkreśla wszystko o aktualizacji warunków DynamODB. Przedstawia sposób korzystania z aktualizacji warunkowych i podaje przykłady warunków aktualizacji w DynamoDB.
Jak używać aktualizacji warunkowych w DynamoDB
Aby wykonać aktualizacje warunkowe w DynamoDB, użyj operacji aktualizacji i parametru warunków Wyświetlanie. Parametr powinien przyjąć warunek, który należy spełnić, aby wymagać pomyślnego zastosowania aktualizacji. Jeśli system nie spełni warunku z tego czy innego powodu, aktualizacja nie powiedzie się i zwróci błąd.
W szczególności operacja aktualizacji obsługuje również wyrażenia aktualizacji. Operacje z wyrażeniami aktualizacji pomagają określić każdą modyfikację, którą należy dokonać w elemencie.
Przykłady aktualizacji warunkowej DynamODB są następujące. Wszystkie przykłady używają Boto3, którym jest AWS SDK dla Pythona.
Przykład 1: Aktualizacja elementu tylko wtedy, gdy określony atrybut ma określoną wartość.
Aktualizacje warunkowe pomagają zaktualizować element tylko wtedy, gdy atrybut ma określoną wartość. Przykład tego samego Pythona pokazano poniżej:
Import Boto3To narzędzie aktualizuje element za pomocą klucza podstawowego ID = 1234 w nazwa mojego stołu tabela. Ustawia wartości atrybut1 I atrybut2 Do 5678 I Abcd, odpowiednio. Jednak aktualizacja zostanie zastosowana tylko wtedy, gdy bieżąca wartość atrybut1 Jest 1234. Jeśli wartość atrybut1 zmienił się, ponieważ element został ostatnio odczytany, aktualizacja nie powiedzie się, a system zwróci błąd.
Przykład 2: Aktualizacja elementu tylko wtedy, gdy element ma określony atrybut
Kod takiej warunkowej aktualizacji jest jak pokazano:
Import Boto3Powyższy przykład pokazuje, jak zaktualizować element w tabeli DynamoDB tylko wtedy, gdy element ma określony atrybut. W takim przypadku wyrażenie warunku sprawdzi istnienie C atrybut za pomocą atrybut_exists funkcjonować. Jeśli przedmiot nie ma C atrybut, aktualizacja nie powiedzie się i zwróci błąd.
Przykład 3: Aktualizacja elementu tylko wtedy, gdy dany atrybut ma wartość przekraczającą określoną wartość.
Na koniec możesz ustawić polecenie, aby zaktualizować element tylko wtedy, gdy określony atrybut jest większy niż określona wartość. Narzędzie Pythona jest jak pokazano poniżej;
Import Boto3Ilustracja pokazuje, jak zaktualizować element w tabeli DynamODB tylko wtedy, gdy określony atrybut ma wartość większą niż konkretna wartość. W takim przypadku wyrażenie warunku sprawdza, czy liczyć Atrybut jest większy niż 15 używając > operator. Jeśli liczyć atrybut jest co najwyżej 15, Aktualizacja nie powiedzie się, a otrzymasz komunikat o błędzie.
Wniosek
Warunkowa funkcja wyrażenia DynamODB jest potężną metodą określenia warunków podczas aktualizacji elementów w tabeli. W wielu przypadkach jest to pomocne. Na przykład możesz go użyć, aby upewnić się, że element jest aktualizowany tylko wtedy, gdy nie zmienił się od odczytania lub że element jest aktualizowany tylko wtedy, gdy dany atrybut ma określoną wartość.