func createTable()

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
}