2016-10-28 2 views
0

В Go (не протестирован с другими языками) Удаление атрибута с карты с ключом атрибута, являющимся int, не работает.Ключ атрибута карты AWS DynamoDB не может быть удален

репликации

params := &dynamodb.UpdateItemInput{ 
     Key: //someKey// 
     ExpressionAttributeNames: map[string]*string { 
      "#test": aws.String("test"), 
     }, 
     UpdateExpression: aws.String("REMOVE #test.1"), 
     TableName: aws.String("someTable"), 
} 
out, err := db.UpdateItem(params) 
if(err != nil){ 
     fmt.Println(err) 
} 
fmt.Println(*out) 

выше будет излучать ошибку:

ValidationException: Invalid UpdateExpression: Syntax error; token: "1", near: ".1" 

Добавление атрибутов с ключом номер не проблема, их удаление, по-видимому, есть ли способ обойти это/как я должен сообщить об этом aws?

ответ

0

Вы также должны заменить 1 ExpressionAttributeNames, "#one": aws.String("1"), а затем изменить UpdateExpression на aws.String("REMOVE #test.#one").

Смежные вопросы