CRUD操作はDynamoDBでは不可分です。 DynamoDBテーブル内のすべてのアイテムを削除するAPIはありません。
解決方法1:
最善の推奨ソリューションは、テーブルを削除して再作成することです。
解決方法2:
使用batchWriteItem DeleteRequestと一度に複数の項目を削除します。バッチ書き込み要求の最大数は25個です。用
待ち: -
削除するには、テーブルを実行した後、リソースが利用できなくなるまで、お待ちください。同様に、create tableを実行した後、リソースが使用可能になるまで待つ必要があります。
var params = {
TableName: 'STRING_VALUE' /* required */
};
dynamodb.waitFor('tableNotExists', params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
tableNotExists状態を待ち、定期的に 基礎となるDynamoDB.describeTable()操作ごとに20秒( ほとんど25倍で)を呼び出すことによって。
1.私は最初のものを試しました。削除は起こっていますが、レクリエーションは時間内に起こっていません。テーブルが再作成される前に、テストが実行されています(すべてのテストの前にdbをクリーンアップする必要があります)。それに関する提案はありますか? 2.私がbatchWriteItem APIを使用しても、2回の呼び出しを行う必要があります。 1つはアイテムのリストを取得し、もう1つはアイテムのリストを削除します。問題は、削除が行われる前にテストが実行されることです。 どうやってそれをあなたのために作ったのですか? –
リソースを待つことで私の答えを更新しました。これには、tableNotExistsとtableExistsという2つの味があります。 – notionquest