「提供されたキー要素がスキーマと一致しません」というエラーが表示されます。 uuid
が私のプライマリパーティションキーです。 version
のプライマリソートキーもあります。私はbatchWrite
(docs)を使って、同じuuid
のすべての商品を削除することができると考えました。次のようにDynamoDBでバッチ削除を実行するにはどうすればよいですか?
マイES6コードは次のとおりです。
delete(uuid) {
const promise = new Promise();
const params = {
RequestItems: {
[this.TABLE]: [
{
DeleteRequest: {
Key: { uuid: uuid }
}
}
]
}
};
// this._client references the DocumentClient
this._client.batchWrite(params, function(err, data) {
if (err) {
// this gets hit with error
console.log(err);
return promise.reject(err);
}
console.log(result);
return promise.resolve(result);
});
return promise;
}
それは主であるキーにerroringされている理由わかりません。私は、キーではないものを検索している時代に、他のインデックスを必要とする記事を見てきました。しかし、私はそれがここの場合だとは思わない。
は、それは 'uuid'フィールドは文字列として設定されていると、あなたはそれを数、またはその逆を与えていることは可能ですか? – mindoftea
@mindoftea良い推測ですが、文字列が必要なフィールドに長い文字列を渡しています。私は誤って定義されていないが、それはそうではないようだ: '{" RequestItems ":{"キャンペーン ":[{" DeleteRequest ":{" Key ":{" uuid ":" 2f114a47 -835e-4937-a0b6-675e0e15ab86 "}}}]}}' –
あなたは私たちの東1で働いていますか?私は実際にこの記事全体で起きました。なぜなら、私はダイナモから奇妙なサーバエラーを受け続けました。 – mindoftea