boto3 DynamoDB - Запретить `PutItem` и` GetItem` сортировать ключи атрибутов - PullRequest
0 голосов
/ 22 апреля 2020

Можно ли помешать put_item и get_item сортировать ключи при вставке или возврате данных?

При установке элемента DynamoDB автоматически сортирует ключи в порядке возрастания.

Вот мой сценарий:

my_item = {
    "object_id": 1,
    "foo": {
        "DELTA": {
            "bar": "bar"
        },
        "CHARLIE": {
            "bar": "bar"
        },
        "BRAVO": {
            "bar": "bar"
        },
        "ALPHA": {
            "bar": "bar"
        }
    }
}

table.put_item(Item=my_item)

При просмотре DynamoDB из AWS Консоли, он хранится со всеми атрибутами, отсортированными так:

{
    "object_id": 1,
    "foo": {
        "ALPHA": {
            "bar": "bar"
        },
        "BRAVO": {
            "bar": "bar"
        },
        "CHARLIE": {
            "bar": "bar"
        },
        "DELTA": {
            "bar": "bar"
        }
    }
}

Из моего Python скрипта Выполнение get_item(Key={"object_id": "1"}) возвращает документ с другой сортировкой атрибутов.

Можно ли получить элемент так, как он был сохранен?

...