in DynamoDB-SDK-Examples/golang/WorkingWithTables/createTableOnDemand/createTableOnDemand.go [25:73]
func createTable() error {
dynamoDBClient := dynamodb.New(getSession())
attributeDefinitions := []*dynamodb.AttributeDefinition{
{
AttributeName: aws.String("Artist"),
AttributeType: aws.String("S"),
},
{
AttributeName: aws.String("SongTitle"),
AttributeType: aws.String("S"),
},
}
keySchema := []*dynamodb.KeySchemaElement{
{
AttributeName: aws.String("Artist"),
KeyType: aws.String("HASH"), // Partition Key
},
{
AttributeName: aws.String("SongTitle"),
KeyType: aws.String("RANGE"), // Sort Key
},
}
billingMode := aws.String("PAY_PER_REQUEST")
_, err := dynamoDBClient.CreateTable(&dynamodb.CreateTableInput{
AttributeDefinitions: attributeDefinitions,
KeySchema: keySchema,
BillingMode: billingMode,
TableName: &table,
})
if err != nil {
return err
}
err = dynamoDBClient.WaitUntilTableExists(&dynamodb.DescribeTableInput{
TableName: aws.String(table),
});
if err != nil {
fmt.Println("Got error calling CreateTable:")
return err
}
return nil
}