0
boto.dynamodb2.exceptions.ValidationException: ValidationException: 400 Bad Request
{'__type': 'com.amazon.coral.validate#ValidationException', 'message': 'One or more parameter values were invalid: Type mismatch for key restoreid expected: S actual: M'}

ID付きの簡単なテーブルテストがあります

私がしようとしているのは、文字列データ型のテーブルに ID を挿入することだけです。プライマリ パーティション キーは id(string) です

 table = Table("test")
 stringjson="{\"id\": {\"S\": \"4343\"}}"
 item_data = json.loads(stringjson)

 table.put_item(data=item_data)

上記のエラーが発生します。助言がありますか?

4

2 に答える 2

0

間違った構文を使用していると思います

http://docs.aws.amazon.com/amazondynamodb/latest/gettingstartedguide/GettingStarted.Python.03.html#GettingStarted.Python.03.01を見てください。

次のようなものを試してください:

response = table.put_item(
   Item={
        'id': '4343',
    }
)
于 2016-11-22T14:59:07.770 に答える
0

DynamoDB のテーブルのハッシュ キーを にすることはできませんMAPtestハッシュキーを文字列として定義したテーブルがありますid。エラーは、キーが文字列であるべきだと言っています。また、このように指定する必要はありません。String の二重引用符で値を指定するだけです。

{\"S\": \"4343\"}

MAP データ型を追加するサンプル コード:-

"quid" - 文字列として定義されたテーブルのハッシュ キーです。

「info」 - DynamoDB テーブルに MAP として追加されます

jsonString = {"quid": "102",  "info": { "plot": "Nothing happens at all.", "rating": "AA"} }

response = table.put_item(
   Item=jsonString
)

出力:-

以下のスクリーンショットを参照してください。「info」属性が DynamoDB テーブルの MAP として追加されました。

ここに画像の説明を入力

于 2016-11-23T17:43:49.787 に答える