2015-06-09 2 views
1

Я изучаю, как работать с DynamoDB для .net, и у меня есть сомнения. Есть ли правильный способ удалить все элементы из существующей таблицы ?, Я имею в виду, я не хотите удалять таблицу, просто удалите ее. Я читал о пакетном процессе, но они мне не очень помогают.DynamoDB .NET - удалить все элементы из таблицы

Я это

private string DeleteAllFromTable() 
    { 
     string result = string.Empty; 

     try 
     { 

      var request = new BatchWriteItemRequest 
      { 
       RequestItems = new Dictionary<string, List<WriteRequest>> 
       { 
        { 
         this.Tablename, new List<WriteRequest> 
         { 
          new WriteRequest 
          { 
           DeleteRequest = new DeleteRequest 
           { 
            Key = new Dictionary<string,AttributeValue>() 
            { 
             { "Id", new AttributeValue { S = "a" } } 
            } 
           } 
          } 
         } 
        } 
       } 
      }; 

      var response = this.DynamoDBClient.BatchWriteItem(request); 

     } 
     catch (AmazonDynamoDBException e) 
     { 

     } 


     return result; 
    } 

Но, конечно же, что только удалить идентификатор, который совпадает со значением «а».

Спасибо.

ответ

4

Я бы рекомендовал вам просто удалить стол и воссоздать его. Из DynamoDB Guidelines for Working with Tables documentation:

...

Удаление всей таблицы является значительно более эффективным, чем удаление элементы один за другим, который по существу удваивает пропускную способность записи, как вы делаете столько операции удаления как операции ввода.

+0

Итак, мне нужно удалить таблицу и сразу же создать ее снова с помощью той же схемы, что и дальше работать. Спасибо за ваш ответ @ Kobit- – AlphaDeveloper

+0

@GameDev Вам нужно проверить [статус таблицы] (http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteTable.html) и следить за рекомендациями , Это может занять немного времени, но это гораздо лучшее решение, чем и путь быстрее, чем попытка вычистить таблицу, удалив все элементы. Если это ответ, который вы ищете, вы также должны принять его. – mkobit