Случайный символ на карте в DynamoDB - PullRequest
0 голосов
/ 27 мая 2019

Когда я обновляю некоторые записи в DynamoDB как таковые

UpdateExpression: "set #audioField = :payload",
ExpressionAttributeValues: {
              ":payload": something,
          },

var something = {"test.com1": {}}

DynamoDB помещает в запись случайный символ, подобный этому

{ "test.com1" : { "M" : { } }}

Что с этим? И как мне это предотвратить?

1 Ответ

2 голосов
/ 27 мая 2019

Это не случайный символ, это то, как DynamoDB хранит и представляет типы.

DynamoDB встраивает информацию о типе в каждое сохраняемое значение.Ниже приведен список типов: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_AttributeValue.html

Исходя из вышеупомянутой ссылки, "M", который вы видите, описывает содержимое атрибута "test.com1", который является картой (M дляmap).

Причина, по которой вы не видите их в других ваших атрибутах, возможно, заключается в том, что SDK автоматически переводит эту структуру DynamoDB в собственные типы для атрибутов верхнего уровня, но не для вложенных атрибутов.

Какой язык / SDK вы используете?Во многих SDK есть помощники, с помощью которых вы можете передавать свои результаты для анализа этих встроенных типов и преобразования их в собственные типы, с которыми легче работать.

...