Элемент обновления Amazon DynamoDB в зависимости от версии

#python #amazon-dynamodb #boto3

Вопрос:

Я использую Boto3 для DynamoDB, и мне нужно периодически обновлять элемент, если версия нового элемента выше, чем у нас. Этот пункт представляет собой правило, подобное этому:

           { 
           "ID": "seat_ONLINE",
           "type": "seat",
           "version":"1.0",
           "paymentMode": "ONLINE",
           "rules": [...]
          }
 

где ID-это PK для каждого правила. Конечно, у меня будет несколько разных правил, и затем я получу JSON с новой версией правил, но я хотел бы знать, как сравнить его с версией правил, которая у меня уже есть в БД.
Быстрым ответом было бы использование get_item случайного фиксированного правила, но я хотел бы знать, есть ли более элегантный способ сделать это, чем получить случайное правило просто для проверки версии.

Большое спасибо

Ответ №1:

  1. Просканируйте всю таблицу DynamoDB, чтобы получить все правила.
  2. Для каждой записи:
    1. Сравните версию, которую вы получили от DynamoDB, и версию, которая у вас есть.
    2. Обновите, если потребуется.