Обновление DynamoDB ExpressionAttributeValues - PullRequest
0 голосов
/ 11 декабря 2018

Пример тестовых данных:

"suppliers" : [
  {
    "supplierName": "xxx supplier"
  }, 
  {
    "supplierName": "zzz supplier"
  }
]    

Выдержка из параметров UpdateItem:

ExpressionAttributeValues:{
            ":sA" : {L: [event.suppliers]}
//          ":sA" : {L: event.suppliers}
          }

Я сталкиваюсь с "UnexpectedParameter: неожиданный ключ '0' найден в параметрах" ,Я попытался изменить форматирование AttributeValues, но я получаю другие ошибки, такие как "UnexpectedParameter: в параметрах обнаружен неожиданный ключ 'supplierName" * .

Мне нужна помощь, чтобы правильно определить список AttributeValue.Обратите внимание, что входные тестовые данные образца могут содержать x количество объектов supplierName и, следовательно, определение ключей (т. Е. «0», «1» и т. Д.) В AttributeValue также не является опцией.Я также предпочитаю не использовать documentClient версию UpdateItem.

1 Ответ

0 голосов
/ 12 декабря 2018

ExpressionAttributeValues собирается установить значение для параметра выражения обновления, например:

dynamoDb.update({
  TableName: ...,
  Key: ...,
  UpdateExpression: 'set suppliers = :suppliers',
  ExpressionAttributeValues: {':suppliers': event.suppliers}
}

Необходимо указать ключ для записи, а затем вы можете изменить suppliersатрибут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...