public async Task Create()

in Storage/DynamoDb/SampleApplication/Controllers/LowLevel/TablesController.cs [97:153]


        public async Task<IActionResult> Create([FromBody] CreateTableRequest request)
        {
            Console.WriteLine("Request Info:");
            Console.WriteLine("\tTableName:");
            Console.WriteLine($"\t{request.TableName}");
            if (request.ProvisionedThroughput != null)
            {
                Console.WriteLine("\tReadCapacityUnits:");
                Console.WriteLine($"\t{request.ProvisionedThroughput.ReadCapacityUnits}");
                Console.WriteLine("\tWriteCapacityUnits:");
                Console.WriteLine($"\t{request.ProvisionedThroughput.WriteCapacityUnits}");
            }
            if (request.KeySchema != null)
            {
                System.Console.WriteLine("\tKeySchemas:");
                foreach (var k in request.KeySchema)
                {
                    Console.WriteLine("\tAttributeName");
                    Console.WriteLine($"\t{k.AttributeName}");
                    Console.WriteLine("\tKeyType");
                    Console.WriteLine($"\t{k.KeyType}");
                }
            }
            try
            {
                var res = await _dynamoClient.CreateTableAsync(request);
                Console.WriteLine("Created table");
                System.Console.WriteLine("\tTableName");
                System.Console.WriteLine($"\t{res.TableDescription.TableName}");
                System.Console.WriteLine("\tTableArn");
                System.Console.WriteLine($"\t{res.TableDescription.TableArn}");
                System.Console.WriteLine("\tTableId");
                System.Console.WriteLine($"\t{res.TableDescription.TableId}");
                System.Console.WriteLine("\tTableStatus");
                System.Console.WriteLine($"\t{res.TableDescription.TableStatus}");
                return new JsonResult(
                    new
                    {
                        message = $"Creating new table: {res.TableDescription.TableName}",
                        TableDescription = res.TableDescription
                    })
                { StatusCode = 202 };
            }
            catch (AmazonDynamoDBException addbe)
            {
                return AmazonExceptionHandlers.HandleAmazonDynamoDBException(addbe);
            }
            catch (AmazonServiceException ase)
            {
                AmazonExceptionHandlers.HandleAmazonServiceExceptionException(ase);
            }
            catch (AmazonClientException ace)
            {
                AmazonExceptionHandlers.HandleAmazonClientExceptionException(ace);
            }
            return StatusCode(500);
        }