本文整理汇总了Golang中github.com/aws/aws-sdk-go/service/dynamodb.DynamoDB.CreateTable方法的典型用法代码示例。如果您正苦于以下问题:Golang DynamoDB.CreateTable方法的具体用法?Golang DynamoDB.CreateTable怎么用?Golang DynamoDB.CreateTable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/aws/aws-sdk-go/service/dynamodb.DynamoDB
的用法示例。
在下文中一共展示了DynamoDB.CreateTable方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: CreateAdminTable
func CreateAdminTable() {
var svc *dynamodb.DynamoDB = dbutil.CreateDynamoDBClient()
params := &dynamodb.CreateTableInput{
AttributeDefinitions: []*dynamodb.AttributeDefinition{
{
AttributeName: aws.String("AdminID"),
AttributeType: aws.String("S"),
},
},
KeySchema: []*dynamodb.KeySchemaElement{
{
AttributeName: aws.String("AdminID"),
KeyType: aws.String("HASH"),
},
},
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(1),
WriteCapacityUnits: aws.Int64(1),
},
TableName: aws.String(AdminTableName),
}
resp, err := svc.CreateTable(params)
if err != nil {
log.Fatal(err)
}
log.Info(resp)
}
示例2: CreateThreadTable
func CreateThreadTable(svc *dynamodb.DynamoDB) (*dynamodb.CreateTableOutput, error) {
params := &dynamodb.CreateTableInput{
TableName: aws.String("Thread"),
AttributeDefinitions: []*dynamodb.AttributeDefinition{
{
AttributeName: aws.String("ForumName"),
AttributeType: aws.String("S"),
},
{
AttributeName: aws.String("Subject"),
AttributeType: aws.String("S"),
},
},
KeySchema: []*dynamodb.KeySchemaElement{
{
AttributeName: aws.String("ForumName"),
KeyType: aws.String("HASH"),
},
{
AttributeName: aws.String("Subject"),
KeyType: aws.String("RANGE"),
},
},
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(10),
WriteCapacityUnits: aws.Int64(5),
},
}
return svc.CreateTable(params)
}
示例3: CreateAppTable
func CreateAppTable() {
var svc *dynamodb.DynamoDB = dbutil.CreateDynamoDBClient()
params := &dynamodb.CreateTableInput{
AttributeDefinitions: []*dynamodb.AttributeDefinition{
{
AttributeName: aws.String("ClientID"),
AttributeType: aws.String("S"),
},
{
AttributeName: aws.String("DeveloperEmail"),
AttributeType: aws.String("S"),
},
},
KeySchema: []*dynamodb.KeySchemaElement{
{
AttributeName: aws.String("ClientID"),
KeyType: aws.String("HASH"),
},
},
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(1),
WriteCapacityUnits: aws.Int64(1),
},
TableName: aws.String(ApplicationTableName),
GlobalSecondaryIndexes: []*dynamodb.GlobalSecondaryIndex{
{ // Required
IndexName: aws.String("EMail-Index"),
KeySchema: []*dynamodb.KeySchemaElement{
{ // Required
AttributeName: aws.String("DeveloperEmail"),
KeyType: aws.String("HASH"),
},
// More values...
},
Projection: &dynamodb.Projection{
ProjectionType: aws.String("ALL"),
},
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(1),
WriteCapacityUnits: aws.Int64(1),
},
},
},
}
resp, err := svc.CreateTable(params)
if err != nil {
log.Fatal(err)
}
log.Info(resp)
}
示例4: prepareDynamoDBTable
// prepareDynamoDBTable prepares DynamoDB table and it returns table name.
func prepareDynamoDBTable(dynamodbClient *dynamodb.DynamoDB) string {
dummyTableName := randSeq(10)
input := newTestCreateTableInput(dummyTableName)
dynamodbClient.CreateTable(input)
dynamodbClient.WaitUntilTableExists(&dynamodb.DescribeTableInput{
TableName: aws.String(dummyTableName),
})
return dummyTableName
}
示例5: createUserTable
func createUserTable(db *dynamodb.DynamoDB) error {
params := &dynamodb.CreateTableInput{
TableName: aws.String("user"),
KeySchema: []*dynamodb.KeySchemaElement{
{
AttributeName: aws.String("id"),
KeyType: aws.String("HASH"),
},
},
AttributeDefinitions: []*dynamodb.AttributeDefinition{
{
AttributeName: aws.String("id"),
AttributeType: aws.String("S"),
},
{
AttributeName: aws.String("oauthid"),
AttributeType: aws.String("S"),
},
},
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(1),
WriteCapacityUnits: aws.Int64(1),
},
GlobalSecondaryIndexes: []*dynamodb.GlobalSecondaryIndex{
{ // Required
IndexName: aws.String("AuthIDIndex"),
KeySchema: []*dynamodb.KeySchemaElement{
{ // Required
AttributeName: aws.String("oauthid"),
KeyType: aws.String("HASH"),
},
},
Projection: &dynamodb.Projection{
ProjectionType: aws.String("INCLUDE"),
NonKeyAttributes: []*string{
aws.String("id"),
},
},
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(1),
WriteCapacityUnits: aws.Int64(1),
},
},
},
}
_, err := db.CreateTable(params)
if err != nil {
return err
}
return nil
}
示例6: createTable
func createTable(db *dynamodb.DynamoDB, createParams *dynamodb.CreateTableInput) error {
_, err := db.CreateTable(createParams)
if err != nil {
return err
}
describeParams := &dynamodb.DescribeTableInput{
TableName: aws.String(*createParams.TableName),
}
if err := db.WaitUntilTableExists(describeParams); err != nil {
return err
}
return nil
}
示例7: ensureTableExists
// ensureTableExists creates a DynamoDB table with a given
// DynamoDB client. If the table already exists, it is not
// being reconfigured.
func ensureTableExists(client *dynamodb.DynamoDB, table string, readCapacity, writeCapacity int) error {
_, err := client.DescribeTable(&dynamodb.DescribeTableInput{
TableName: aws.String(table),
})
if awserr, ok := err.(awserr.Error); ok {
if awserr.Code() == "ResourceNotFoundException" {
_, err = client.CreateTable(&dynamodb.CreateTableInput{
TableName: aws.String(table),
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(int64(readCapacity)),
WriteCapacityUnits: aws.Int64(int64(writeCapacity)),
},
KeySchema: []*dynamodb.KeySchemaElement{{
AttributeName: aws.String("Path"),
KeyType: aws.String("HASH"),
}, {
AttributeName: aws.String("Key"),
KeyType: aws.String("RANGE"),
}},
AttributeDefinitions: []*dynamodb.AttributeDefinition{{
AttributeName: aws.String("Path"),
AttributeType: aws.String("S"),
}, {
AttributeName: aws.String("Key"),
AttributeType: aws.String("S"),
}},
})
if err != nil {
return err
}
err = client.WaitUntilTableExists(&dynamodb.DescribeTableInput{
TableName: aws.String(table),
})
if err != nil {
return err
}
}
}
if err != nil {
return err
}
return nil
}
示例8: tryCreateTable
// make sure session table exists
func tryCreateTable(db *dynamodb.DynamoDB, sessionTableName string, readCapacityUnits, writeCapacityUnits int64) error {
describeTableInput := &dynamodb.DescribeTableInput{TableName: aws.String(sessionTableName)}
if _, err := db.DescribeTable(describeTableInput); err != nil {
awserr := err.(awserr.Error)
if awserr.Code() == "ResourceNotFoundException" {
// table does not exist - create now
params := &dynamodb.CreateTableInput{
TableName: aws.String(sessionTableName),
AttributeDefinitions: []*dynamodb.AttributeDefinition{ // Required
{ // Required
AttributeName: aws.String("id"),
AttributeType: aws.String("S"), // Required
},
},
KeySchema: []*dynamodb.KeySchemaElement{ // Required
{ // Required
AttributeName: aws.String("id"),
KeyType: aws.String("HASH"), // Required
},
},
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(readCapacityUnits),
WriteCapacityUnits: aws.Int64(writeCapacityUnits),
},
}
if _, err := db.CreateTable(params); err != nil {
return err
}
} else {
return err
}
}
return nil
}
示例9: CreateProductTable
func CreateProductTable(svc *dynamodb.DynamoDB) (*dynamodb.CreateTableOutput, error) {
params := &dynamodb.CreateTableInput{
TableName: aws.String("ProductCatalog"),
AttributeDefinitions: []*dynamodb.AttributeDefinition{
{
AttributeName: aws.String("Id"),
AttributeType: aws.String("N"),
},
},
KeySchema: []*dynamodb.KeySchemaElement{
{
AttributeName: aws.String("Id"),
KeyType: aws.String("HASH"),
},
},
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(10),
WriteCapacityUnits: aws.Int64(5),
},
}
return svc.CreateTable(params)
}
示例10: CreateTable
func CreateTable(db *dynamodb.DynamoDB) error {
var _, err = db.CreateTable(getAccountTableSchema())
return err
}
示例11: createEdgeTable
func createEdgeTable(t *testing.T, db *dynamodb.DynamoDB) {
_, err := db.CreateTable(&dynamodb.CreateTableInput{
TableName: EDGE_TABLE_NAME,
AttributeDefinitions: []*dynamodb.AttributeDefinition{
&dynamodb.AttributeDefinition{
AttributeName: EDGE_HASH,
AttributeType: aws.String("S"),
},
&dynamodb.AttributeDefinition{
AttributeName: EDGE_RANGE,
AttributeType: aws.String("S"),
},
&dynamodb.AttributeDefinition{
AttributeName: EDGE_ATTR_NAME,
AttributeType: aws.String("S"),
},
},
KeySchema: []*dynamodb.KeySchemaElement{
&dynamodb.KeySchemaElement{
AttributeName: EDGE_HASH,
KeyType: aws.String("HASH"),
},
&dynamodb.KeySchemaElement{
AttributeName: EDGE_RANGE,
KeyType: aws.String("RANGE"),
},
},
LocalSecondaryIndexes: []*dynamodb.LocalSecondaryIndex{
&dynamodb.LocalSecondaryIndex{
IndexName: EDGE_LSI_NAME,
KeySchema: []*dynamodb.KeySchemaElement{
&dynamodb.KeySchemaElement{
AttributeName: EDGE_HASH,
KeyType: aws.String("HASH"),
},
&dynamodb.KeySchemaElement{
AttributeName: EDGE_ATTR_NAME,
KeyType: aws.String("RANGE"),
},
},
Projection: &dynamodb.Projection{
ProjectionType: aws.String(dynamodb.ProjectionTypeInclude),
NonKeyAttributes: []*string{
EDGE_HASH,
EDGE_RANGE,
EDGE_ATTR_NAME,
},
},
},
},
GlobalSecondaryIndexes: []*dynamodb.GlobalSecondaryIndex{
&dynamodb.GlobalSecondaryIndex{
IndexName: EDGE_GSI_REVERSE,
KeySchema: []*dynamodb.KeySchemaElement{
&dynamodb.KeySchemaElement{
AttributeName: EDGE_RANGE,
KeyType: aws.String("HASH"),
},
&dynamodb.KeySchemaElement{
AttributeName: EDGE_HASH,
KeyType: aws.String("RANGE"),
},
},
Projection: &dynamodb.Projection{
ProjectionType: aws.String(dynamodb.ProjectionTypeAll),
},
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(10),
WriteCapacityUnits: aws.Int64(10),
},
},
},
ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
ReadCapacityUnits: aws.Int64(10),
WriteCapacityUnits: aws.Int64(10),
},
})
if err != nil {
t.Fatalf("create edge table: %s", err.Error())
}
}