Exemplo n.º 1
0
        public void DeleteTable(string tableName)
        {
            if (dynamoService == null || string.IsNullOrEmpty(tableName))
            {
                return;
            }

            try
            {
                dynamoService.RestartDynamoDBContext();

                using (IAmazonDynamoDB client = dynamoService.DynamoClient)
                {
                    DeleteTableRequest  deleteTableRequest  = new DeleteTableRequest(tableName.ToLower());
                    DeleteTableResponse deleteTableResponse = client.DeleteTable(deleteTableRequest);
                    TableDescription    tableDescription    = deleteTableResponse.TableDescription;
                    TableStatus         tableStatus         = tableDescription.TableStatus;

                    ConsoleHelper.Write("\nDelete table ");
                    ConsoleHelper.Write(tableName.ToUpper(), ConsoleColor.Yellow);
                    ConsoleHelper.Write(" command sent to Amazon, status after deletion: ");
                    ConsoleHelper.Write(tableDescription.TableStatus, ConsoleColor.Green);
                }
            }
            catch (AmazonDynamoDBException exception)
            {
                ConsoleHelper.Write(string.Format("Exception while deleting new dynamoDB table: {0}", exception.Message), ConsoleColor.Red);
                ConsoleHelper.WriteLine(string.Concat("Error code: {0}, error type: {1}", exception.ErrorCode, exception.ErrorType), ConsoleColor.Red);
            }
        }
Exemplo n.º 2
0
        public static void DeleteTables(IAmazonDynamoDB client, Predicate <string> tableNameMatch)
        {
            try
            {
                var tableNames = client.ListTables().TableNames;
                foreach (var tableName in tableNames)
                {
                    DescribeTableResponse descResponse = client.DescribeTable(new DescribeTableRequest {
                        TableName = tableName
                    });
                    if (descResponse.Table == null)
                    {
                        continue;
                    }

                    TableDescription table = descResponse.Table;

                    if (table.TableStatus == TableStatus.ACTIVE && tableNameMatch(table.TableName))
                    {
                        Console.WriteLine("Table: {0}, {1}, {2}, {3}", table.TableName, table.TableStatus, table.ProvisionedThroughput.ReadCapacityUnits, table.ProvisionedThroughput.WriteCapacityUnits);
                        Console.WriteLine("Deleting table " + table.TableName + "...");
                        try
                        {
                            client.DeleteTable(new DeleteTableRequest {
                                TableName = table.TableName
                            });
                            WaitUntilTableDeleted(table.TableName, client);
                            Console.WriteLine("Succeeded!");
                        }
                        catch
                        {
                            Console.WriteLine("Failed!");
                        }
                    }
                }
                Console.WriteLine(tableNames.Count);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                throw;
            }
        }
Exemplo n.º 3
0
 private Amazon.DynamoDBv2.Model.DeleteTableResponse CallAWSServiceOperation(IAmazonDynamoDB client, Amazon.DynamoDBv2.Model.DeleteTableRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon DynamoDB", "DeleteTable");
     try
     {
         #if DESKTOP
         return(client.DeleteTable(request));
         #elif CORECLR
         return(client.DeleteTableAsync(request).GetAwaiter().GetResult());
         #else
                 #error "Unknown build edition"
         #endif
     }
     catch (AmazonServiceException exc)
     {
         var webException = exc.InnerException as System.Net.WebException;
         if (webException != null)
         {
             throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
         }
         throw;
     }
 }
Exemplo n.º 4
0
        public static void DeleteTables(IAmazonDynamoDB client, Predicate<string> tableNameMatch)
        {
            try
            {
                var tableNames = client.ListTables().TableNames;
                foreach (var tableName in tableNames)
                {
                    DescribeTableResponse descResponse = client.DescribeTable(new DescribeTableRequest { TableName = tableName });
                    if (descResponse.Table == null)
                        continue;

                    TableDescription table = descResponse.Table;

                    if (table.TableStatus == TableStatus.ACTIVE && tableNameMatch(table.TableName))
                    {
                        Console.WriteLine("Table: {0}, {1}, {2}, {3}", table.TableName, table.TableStatus, table.ProvisionedThroughput.ReadCapacityUnits, table.ProvisionedThroughput.WriteCapacityUnits);
                        Console.WriteLine("Deleting table " + table.TableName + "...");
                        try
                        {
                            client.DeleteTable(new DeleteTableRequest { TableName = table.TableName });
                            WaitUntilTableDeleted(table.TableName, client);
                            Console.WriteLine("Succeeded!");
                        }
                        catch
                        {
                            Console.WriteLine("Failed!");
                        }
                    }
                }
                Console.WriteLine(tableNames.Count);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                throw;
            }
        }