2017-06-01 9 views
0

AmzonWebServiceからDynamoDbをリクエストして管理しています。API Gateway AWSのDynamoDBの要素を更新する

新しいデータで要素を更新します。

これは私が行う方法です。

{ 
"TableName": "Strips", 
    "Key": { 
     "StripId": { 
      "S": "$input.path('$.StripId')" 
     } 
    }, 
    "UpdateExpression": "set SessionId = "$input.path('$.SessionId')" 
    "ReturnValues": "ALL_NEW" 
} 

私はこのエラーメッセージを持っていると私のDB上の私の要素が更新されません。変換前

エンドポイントのレスポンスボディ: { "__type": "com.amazon.coral.service番号のSerializationException"}

EDIT:これは私が私の要求本体に使用しているオブジェです:

{ 
"StripId":"f58b6811-5a11-4a53-84d3-19bf42dd8fef", 
"SessionId":"9fc6f591-e805-4113-b673-d596736b2ff3" 
} 

誰でも知っていますか?

+0

キー属性の値は必須です。 $ inputに期待値があるかどうか確認してください。 – notionquest

+0

私の質問を編集しました@notionquest –

答えて

1

以下を使用してください: -

を私はSessionIdのために価値を提供するために、ExpressionAttributeValuesを追加しました。

{ 
    "TableName": "Strips", 
    "Key": { 
     "StripId": { 
      "S": "$input.path('$.StripId')" 
     } 
    }, 
    "UpdateExpression": "set SessionId = :sessionIdVal" 
    "ExpressionAttributeValues" : { 
     ":sessionIdVal": $input.path('$.SessionId'), 
    }, 
    "ReturnValues": "ALL_NEW" 
} 
+0

@notionquestさんのお返事ありがとうございます。あなたのコードを使用している場合、私はまだSerializationExceptionを持っています。リクエストボディでテスト用に使用しているオブジェクトを示すために質問を編集しています。 –

関連する問題