-
Notifications
You must be signed in to change notification settings - Fork 228
/
Copy pathCreateTableProvisioned.cs
74 lines (69 loc) · 2.01 KB
/
CreateTableProvisioned.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Amazon;
using Amazon.DynamoDBv2;
using Amazon.DynamoDBv2.Model;
namespace DotnetSamples.WorkingWithTables
{
public class CreateTableProvisioned
{
public static async Task CreateTable()
{
var client = new AmazonDynamoDBClient(RegionEndpoint.USEast1);
var attributeDefinitions = new List<AttributeDefinition>
{
{
new AttributeDefinition
{
AttributeName="PK",
AttributeType="S"
}
},
{
new AttributeDefinition
{
AttributeName="SK",
AttributeType="S"
}
}
};
var tableKeySchema = new List<KeySchemaElement>
{
{
new KeySchemaElement
{
AttributeName="PK",
KeyType="HASH"
}
},
{
new KeySchemaElement
{
AttributeName="SK",
KeyType="RANGE"
}
}
};
var createTableRequest = new CreateTableRequest
{
TableName="MyTable",
ProvisionedThroughput = new ProvisionedThroughput
{
ReadCapacityUnits=(long)20,
WriteCapacityUnits=(long)10
},
AttributeDefinitions=attributeDefinitions,
KeySchema=tableKeySchema
};
try
{
await client.CreateTableAsync(createTableRequest);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}