На мой взгляд, способ, которым это поддерживается в SDK, не интуитивно понятен.
Нужно сначала создать таблицу со значением по умолчанию ProvisionedThroughput
, затем обновить таблицу и установить биллинг на: PAY_PER_REQUEST
CreateTableRequest createRequest = new CreateTableRequest
{
TableName = "Foo",
AttributeDefinitions = new List<AttributeDefinition> {
new AttributeDefinition {
AttributeName = "Id",
AttributeType = ScalarAttributeType.S,
}
},
KeySchema = new List<KeySchemaElement> {
new KeySchemaElement("Id", KeyType.HASH)
},
ProvisionedThroughput = new ProvisionedThroughput(1, 1)
};
await client.CreateTableAsync(createRequest);
// Wait for it to be created
await client.UpdateTableAsync(new UpdateTableRequest
{
TableName = name,
BillingMode = BillingMode.PAY_PER_REQUEST
});