dynamodb

package
v1.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2020 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// attribvute types
	AttributeTypeString    = "S"
	AttributeTypeNumber    = "N"
	AttributeTypeBinary    = "B"
	AttributeTypeBool      = "BOOL"
	AttributeTypeNull      = "NULL"
	AttributeTypeMap       = "M"
	AttributeTypeList      = "L"
	AttributeTypeStringSet = "SS"
	AttributeTypeNumberSet = "NS"
	AttributeTypeBinarySet = "BS"

	// comparison operators
	ComparisonOperatorEQ = SDK.ComparisonOperatorEq
	ComparisonOperatorNE = "NE"
	ComparisonOperatorGT = "GT"
	ComparisonOperatorLT = "LT"
	ComparisonOperatorGE = "GE"
	ComparisonOperatorLE = "LE"

	// key type name for DynamoDB Index.
	KeyTypeHash  = SDK.KeyTypeHash
	KeyTypeRange = SDK.KeyTypeRange

	SelectCount = SDK.SelectCount
)
View Source
const (
	ProjectionTypeAll      = "ALL"
	ProjectionTypeKeysOnly = "KEYS_ONLY"
)

projection type of the index. see: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Projection.html

Variables

This section is empty.

Functions

func Marshal

func Marshal(item map[string]interface{}) map[string]*SDK.AttributeValue

Marshal converts map data to DynamoDB Item data.

func MarshalStringSlice

func MarshalStringSlice(item interface{}) []*string

MarshalStringSlice converts string slice to DynamoDB Item data.

func NewExpectedCondition

func NewExpectedCondition(value interface{}, operator string) *SDK.ExpectedAttributeValue

NewExpectedCondition returns *SDK.ExpectedAttributeValue with ComparisonOperator and value.

func NewGSI

func NewGSI(name string, schema []*SDK.KeySchemaElement, tp *SDK.ProvisionedThroughput, projection ...string) *SDK.GlobalSecondaryIndex

NewGSI returns initilized GlobalSecondaryIndex.

func NewHashKeyElement

func NewHashKeyElement(keyName string) *SDK.KeySchemaElement

NewHashKeyElement creates initialized *SDK.KeySchemaElement for HashKey.

func NewKeyElement

func NewKeyElement(keyName, keyType string) *SDK.KeySchemaElement

NewKeyElement creates initialized *SDK.KeySchemaElement.

func NewKeySchema

func NewKeySchema(elements ...*SDK.KeySchemaElement) []*SDK.KeySchemaElement

NewKeySchema creates new []*SDK.KeySchemaElement.

func NewLSI

func NewLSI(name string, schema []*SDK.KeySchemaElement, projection ...string) *SDK.LocalSecondaryIndex

NewLSI returns initilized LocalSecondaryIndex.

func NewRangeKeyElement

func NewRangeKeyElement(keyName string) *SDK.KeySchemaElement

NewRangeKeyElement creates initialized *SDK.KeySchemaElement for RangeKey.

func UnmarshalAttributeValue

func UnmarshalAttributeValue(item map[string]*SDK.AttributeValue) map[string]interface{}

UnmarshalAttributeValue converts DynamoDB Item to map data.

Types

type AttributeDefinition

type AttributeDefinition struct {
	Name string
	Type string
}

AttributeDefinition represents an attribute for describing the key schema for the table and indexes.

func NewAttributeDefinition

func NewAttributeDefinition(out *SDK.AttributeDefinition) AttributeDefinition

NewAttributeDefinition creates AttributeDefinition from SDK's output.

func NewAttributeDefinitionFromType

func NewAttributeDefinitionFromType(name, typ string) AttributeDefinition

NewAttributeDefinitionFromType creates AttributeDefinition from the give type.

func NewAttributeDefinitionList

func NewAttributeDefinitionList(list []*SDK.AttributeDefinition) []AttributeDefinition

NewAttributeDefinitionList creates the list of AttributeDefinition from SDK's output.

func NewBinarySetAttribute

func NewBinarySetAttribute(attrName string) AttributeDefinition

NewBinarySetAttribute returns a table AttributeDefinition for binary set.

func NewBoolAttribute

func NewBoolAttribute(attrName string) AttributeDefinition

NewBoolAttribute returns a table AttributeDefinition for boolean.

func NewByteAttribute

func NewByteAttribute(attrName string) AttributeDefinition

NewByteAttribute returns a table AttributeDefinition for byte.

func NewListAttribute

func NewListAttribute(attrName string) AttributeDefinition

NewListAttribute returns a table AttributeDefinition for list.

func NewMapAttribute

func NewMapAttribute(attrName string) AttributeDefinition

NewMapAttribute returns a table AttributeDefinition for map.

func NewNullAttribute

func NewNullAttribute(attrName string) AttributeDefinition

NewNullAttribute returns a table AttributeDefinition for null.

func NewNumberAttribute

func NewNumberAttribute(attrName string) AttributeDefinition

NewNumberAttribute returns a table AttributeDefinition for number.

func NewNumberSetAttribute

func NewNumberSetAttribute(attrName string) AttributeDefinition

NewNumberSetAttribute returns a table AttributeDefinition for number set.

func NewStringAttribute

func NewStringAttribute(attrName string) AttributeDefinition

NewStringAttribute returns a table AttributeDefinition for string.

func NewStringSetAttribute

func NewStringSetAttribute(attrName string) AttributeDefinition

NewStringSetAttribute returns a table AttributeDefinition for string set.

func (AttributeDefinition) IsEmpty

func (d AttributeDefinition) IsEmpty() bool

IsEmpty checks if the data is empty or not.

func (AttributeDefinition) ToSDKType

ToSDKType converts to SDK's type.

type BillingModeSummary

type BillingModeSummary struct {
	BillingMode               string
	LastUpdateToPayPerRequest time.Time
}

BillingModeSummary contains the details for the read/write capacity mode.

func NewBillingModeSummary

func NewBillingModeSummary(out *SDK.BillingModeSummary) BillingModeSummary

NewBillingModeSummary creates BillingModeSummary from SDK's output.

func (BillingModeSummary) IsEmpty

func (s BillingModeSummary) IsEmpty() bool

IsEmpty checks if the data is empty or not.

type Condition

type Condition struct {
	Condition string
	Key       string
	Value     interface{}
	SubValue  interface{}
	OR        bool
	// contains filtered or unexported fields
}

Condition contains condition.

type ConditionList

type ConditionList struct {
	// contains filtered or unexported fields
}

ConditionList contains multiple condition.

func NewConditionList

func NewConditionList(keyAttributes map[string]string) *ConditionList

NewConditionList returns initialized *ConditionList.

func (*ConditionList) AddKeyAttribute

func (c *ConditionList) AddKeyAttribute(attr AttributeDefinition)

AddKeyAttribute adds to attribute to keyAttributes.

func (*ConditionList) AndBETWEEN

func (c *ConditionList) AndBETWEEN(key string, from, to interface{})

AndBETWEEN adds BETWEEN condition.

func (*ConditionList) AndEQ

func (c *ConditionList) AndEQ(key string, val interface{})

AndEQ adds EQ(equal) condition.

func (*ConditionList) AndGE

func (c *ConditionList) AndGE(key string, val interface{})

AndGE adds GE(greater equal than) condition.

func (*ConditionList) AndGT

func (c *ConditionList) AndGT(key string, val interface{})

AndGT adds GT(greater than) condition.

func (*ConditionList) AndLE

func (c *ConditionList) AndLE(key string, val interface{})

AndLE adds LE(less equal than) condition.

func (*ConditionList) AndLT

func (c *ConditionList) AndLT(key string, val interface{})

AndLT adds LT(less than) condition.

func (*ConditionList) FilterBETWEEN

func (c *ConditionList) FilterBETWEEN(key string, from, to interface{})

FilterBETWEEN adds BETWEEN filter.

func (*ConditionList) FilterEQ

func (c *ConditionList) FilterEQ(key string, val interface{})

FilterEQ adds EQ(equal) filter.

func (*ConditionList) FilterGE

func (c *ConditionList) FilterGE(key string, val interface{})

FilterGE adds GE(greater equal than) filter.

func (*ConditionList) FilterGT

func (c *ConditionList) FilterGT(key string, val interface{})

FilterGT adds GT(greater than) filter.

func (*ConditionList) FilterLE

func (c *ConditionList) FilterLE(key string, val interface{})

FilterLE adds LE(less equal than) filter.

func (*ConditionList) FilterLT

func (c *ConditionList) FilterLT(key string, val interface{})

FilterLT adds LT(less than) filter.

func (*ConditionList) FormatCondition

func (c *ConditionList) FormatCondition() *string

FormatCondition returns string pointer for KeyConditionExpression.

func (*ConditionList) FormatFilter

func (c *ConditionList) FormatFilter() *string

FormatFilter returns string pointer for KeyConditionExpression.

func (*ConditionList) FormatNames

func (c *ConditionList) FormatNames() map[string]*string

FormatNames returns the parameter for ExpressionAttributeNames.

func (*ConditionList) FormatValues

func (c *ConditionList) FormatValues() map[string]*SDK.AttributeValue

FormatValues returns the parameter for ExpressionAttributeValues.

func (*ConditionList) HasCondition

func (c *ConditionList) HasCondition() bool

HasCondition checks if at least one condition is set or not.

func (*ConditionList) HasFilter

func (c *ConditionList) HasFilter() bool

HasFilter checks if at least one filter is set or not.

func (*ConditionList) HasIndex

func (c *ConditionList) HasIndex() bool

HasIndex checks if the index is set or not.

func (*ConditionList) HasLimit

func (c *ConditionList) HasLimit() bool

HasLimit checks if limit number is set or not.

func (*ConditionList) SetConsistent

func (c *ConditionList) SetConsistent(b bool)

SetConsistent sets consistent read flag.

func (*ConditionList) SetDesc

func (c *ConditionList) SetDesc(b bool)

SetDesc sets descending order flag.

func (*ConditionList) SetIndex

func (c *ConditionList) SetIndex(v string)

SetIndex sets index to use.

func (*ConditionList) SetLimit

func (c *ConditionList) SetLimit(i int64)

SetLimit sets limit number.

func (*ConditionList) SetStartKey

func (c *ConditionList) SetStartKey(startKey map[string]*SDK.AttributeValue)

SetStartKey sets ExclusiveStartKey.

type DynamoDB

type DynamoDB struct {
	// contains filtered or unexported fields
}

DynamoDB has DynamoDB client and table list.

func New

func New(conf config.Config) (*DynamoDB, error)

New returns initializesvc *DynamoDB.

func (*DynamoDB) BatchPutAll

func (svc *DynamoDB) BatchPutAll() error

BatchPutAll executes put operation for all tables with batch operations in write spool list.

func (*DynamoDB) CreateTable

func (svc *DynamoDB) CreateTable(design *TableDesign) error

CreateTable new DynamoDB table

func (*DynamoDB) DescribeTable

func (svc *DynamoDB) DescribeTable(name string) (TableDescription, error)

DescribeTable executes `DescribeTable` operation and get table info.

func (*DynamoDB) DoQuery

func (svc *DynamoDB) DoQuery(in *SDK.QueryInput) (*QueryResult, error)

DoQuery executes `Query` operation and get mapped-items.

func (*DynamoDB) Errorf

func (svc *DynamoDB) Errorf(format string, v ...interface{})

Errorf logging error information.

func (*DynamoDB) ForceDeleteTable

func (svc *DynamoDB) ForceDeleteTable(name string) error

ForceDeleteTable deletes DynamoDB table.

func (*DynamoDB) GetTable

func (svc *DynamoDB) GetTable(name string) (*Table, error)

GetTable returns *Table.

func (*DynamoDB) Infof

func (svc *DynamoDB) Infof(format string, v ...interface{})

Infof logging information.

func (*DynamoDB) ListTables

func (svc *DynamoDB) ListTables() ([]string, error)

ListTables gets the list of DynamoDB table.

func (*DynamoDB) PutAll

func (svc *DynamoDB) PutAll() error

PutAll executes put operation for all tables in write spool list.

func (*DynamoDB) SetLogger

func (svc *DynamoDB) SetLogger(logger log.Logger)

SetLogger sets logger.

type GSIDescription

type GSIDescription struct {
	Backfilling           bool
	IndexARN              string
	IndexName             string
	IndexSizeBytes        int64
	IndexStatus           string
	ItemCount             int64
	KeySchema             []KeySchemaElement
	Projection            Projection
	ProvisionedThroughput ProvisionedThroughputDescription
}

GSIDescription contains the properties of a global secondary index.

func NewGSIDescription

func NewGSIDescription(out *SDK.GlobalSecondaryIndexDescription) GSIDescription

NewGSIDescription creates GSIDescription from SDK's output.

func NewGSIDescriptionList

func NewGSIDescriptionList(list []*SDK.GlobalSecondaryIndexDescription) []GSIDescription

NewGSIDescriptionList creates the list of GSIDescription from SDK's output.

func (GSIDescription) IsEmpty

func (d GSIDescription) IsEmpty() bool

IsEmpty checks if the data is empty or not.

func (GSIDescription) ToGSI

ToGSI converts to SDK's type.

type KeySchemaElement

type KeySchemaElement struct {
	AttributeName string
	KeyType       string
}

KeySchemaElement represents a single element of a key schema.

func NewKeySchemaElement

func NewKeySchemaElement(out *SDK.KeySchemaElement) KeySchemaElement

NewKeySchemaElement creates KeySchemaElement from SDK's output.

func NewKeySchemaElementList

func NewKeySchemaElementList(list []*SDK.KeySchemaElement) []KeySchemaElement

NewKeySchemaElementList creates the list of KeySchemaElement from SDK's output.

func (KeySchemaElement) IsEmpty

func (k KeySchemaElement) IsEmpty() bool

IsEmpty checks if the data is empty or not.

func (KeySchemaElement) ToSDKType

func (k KeySchemaElement) ToSDKType() *SDK.KeySchemaElement

ToSDKType converts to SDK's type.

type LSIDescription

type LSIDescription struct {
	IndexARN       string
	IndexName      string
	IndexSizeBytes int64
	ItemCount      int64
	KeySchema      []KeySchemaElement
	Projection     Projection
}

LSIDescription represents the properties of a local secondary index.

func NewLSIDescription

func NewLSIDescription(out *SDK.LocalSecondaryIndexDescription) LSIDescription

NewLSIDescription creates LSIDescription from SDK's output.

func NewLSIDescriptionList

func NewLSIDescriptionList(list []*SDK.LocalSecondaryIndexDescription) []LSIDescription

NewLSIDescriptionList creates the list of LSIDescription from SDK's output.

func (LSIDescription) IsEmpty

func (d LSIDescription) IsEmpty() bool

IsEmpty checks if the data is empty or not.

func (LSIDescription) ToLSI

ToLSI converts to SDK's type.

type Projection

type Projection struct {
	NonKeyAttributes []string
	ProjectionType   string
}

Projection represents attributes that are copied (projected) from the table into an index.

func NewProjection

func NewProjection(out *SDK.Projection) Projection

NewProjection creates Projection from SDK's output.

func (Projection) IsEmpty

func (p Projection) IsEmpty() bool

IsEmpty checks if the data is empty or not.

func (Projection) ToSDKType

func (p Projection) ToSDKType() *SDK.Projection

ToSDKType converts to SDK's type.

type ProvisionedThroughputDescription

type ProvisionedThroughputDescription struct {
	LastDecreaseDateTime   time.Time
	LastIncreaseDateTime   time.Time
	NumberOfDecreasesToday int64
	ReadCapacityUnits      int64
	WriteCapacityUnits     int64
}

ProvisionedThroughputDescription represents the provisioned throughput settings for the table.

func NewProvisionedThroughputDescription

func NewProvisionedThroughputDescription(out *SDK.ProvisionedThroughputDescription) ProvisionedThroughputDescription

NewProvisionedThroughputDescription creates ProvisionedThroughputDescription from SDK's output.

func (ProvisionedThroughputDescription) IsEmpty

IsEmpty checks if the data is empty or not.

func (ProvisionedThroughputDescription) ToProvisionedThroughput

func (p ProvisionedThroughputDescription) ToProvisionedThroughput() *SDK.ProvisionedThroughput

ToProvisionedThroughput converts to SDK's type.

type PutItem

type PutItem struct {
	// contains filtered or unexported fields
}

PutItem is wrapped struct for DynamoDB Item to put.

func NewPutItem

func NewPutItem() *PutItem

NewPutItem returns initialized *PutItem.

func (*PutItem) AddAttribute

func (item *PutItem) AddAttribute(name string, value interface{})

AddAttribute adds an attribute to the PutItem.

func (*PutItem) AddConditionEQ

func (item *PutItem) AddConditionEQ(name string, value interface{})

AddConditionEQ adds a EQUAL condition.

func (*PutItem) AddConditionExist

func (item *PutItem) AddConditionExist(name string)

AddConditionExist adds a EXIST condition.

func (*PutItem) AddConditionGE

func (item *PutItem) AddConditionGE(name string, value interface{})

AddConditionGE adds a GREATER THAN or EQUAL condition.

func (*PutItem) AddConditionGT

func (item *PutItem) AddConditionGT(name string, value interface{})

AddConditionGT adds a GREATER THAN condition.

func (*PutItem) AddConditionLE

func (item *PutItem) AddConditionLE(name string, value interface{})

AddConditionLE adds a LESS THAN or EQUAL condition.

func (*PutItem) AddConditionLT

func (item *PutItem) AddConditionLT(name string, value interface{})

AddConditionLT adds a LESS THAN condition.

func (*PutItem) AddConditionNE

func (item *PutItem) AddConditionNE(name string, value interface{})

AddConditionNE adds a NOT EQUAL condition.

func (*PutItem) AddConditionNotExist

func (item *PutItem) AddConditionNotExist(name string)

AddConditionNotExist adds a NOT EXIST condition.

func (*PutItem) CountDown

func (item *PutItem) CountDown(name string, num int)

CountDown counts down the value.

func (*PutItem) CountUp

func (item *PutItem) CountUp(name string, num int)

CountUp counts up the value.

func (*PutItem) GetAttribute

func (item *PutItem) GetAttribute(name string) interface{}

GetAttribute gets an attribute from PutItem.

type QueryResult

type QueryResult struct {
	Items            []map[string]*SDK.AttributeValue
	LastEvaluatedKey map[string]*SDK.AttributeValue
	Count            int64
	ScannedCount     int64
	// contains filtered or unexported fields
}

QueryResult is struct for result of Query operation.

func (QueryResult) ToSliceMap

func (r QueryResult) ToSliceMap() []map[string]interface{}

ToSliceMap converts result to slice of map.

func (QueryResult) Unmarshal

func (r QueryResult) Unmarshal(v interface{}) error

Unmarshal unmarshals given slice pointer sturct from DynamoDB item result to mapping.

e.g. err = Unmarshal(&[]*yourStruct)

The struct tag `dynamodb:""` is used to unmarshal.

func (QueryResult) UnmarshalWithTagName

func (r QueryResult) UnmarshalWithTagName(v interface{}, structTag string) error

UnmarshalWithTagName unmarshals given slice pointer sturct and tag name from DynamoDB item result to mapping.

type RestoreSummary

type RestoreSummary struct {
	RestoreDateTime   time.Time
	RestoreInProgress bool
	SourceBackupARN   string
	SourceTableARN    string
}

RestoreSummary contains details for the restore.

func NewRestoreSummary

func NewRestoreSummary(out *SDK.RestoreSummary) RestoreSummary

NewRestoreSummary creates RestoreSummary from SDK's output.

func (RestoreSummary) IsEmpty

func (s RestoreSummary) IsEmpty() bool

IsEmpty checks if the data is empty or not.

type SSEDescription

type SSEDescription struct {
	KMSMasterKeyARN string
	SSEType         string
	Status          string
}

SSEDescription contains description of the server-side encryption status on the specified table.

func NewSSEDescription

func NewSSEDescription(out *SDK.SSEDescription) SSEDescription

NewSSEDescription creates SSEDescription from SDK's output.

func (SSEDescription) IsEmpty

func (s SSEDescription) IsEmpty() bool

IsEmpty checks if the data is empty or not.

type StreamSpecification

type StreamSpecification struct {
	StreamEnabled  bool
	StreamViewType string
}

StreamSpecification represents the DynamoDB Streams configuration for a table in DynamoDB.

func NewStreamSpecification

func NewStreamSpecification(out *SDK.StreamSpecification) StreamSpecification

NewStreamSpecification creates StreamSpecification from SDK's output.

func (StreamSpecification) IsEmpty

func (s StreamSpecification) IsEmpty() bool

IsEmpty checks if the data is empty or not.

type Table

type Table struct {
	// contains filtered or unexported fields
}

Table is a wapper struct for DynamoDB table

func NewTable

func NewTable(svc *DynamoDB, name string) (*Table, error)

NewTable returns initialized *Table.

func NewTableWithDesign

func NewTableWithDesign(svc *DynamoDB, design *TableDesign) (*Table, error)

NewTableWithDesign returns initialized *Table.

func NewTableWithoutDesign

func NewTableWithoutDesign(svc *DynamoDB, name string) *Table

NewTableWithoutDesign returns initialized *Table without table design.

func (*Table) AddItem

func (t *Table) AddItem(item *PutItem)

AddItem adds an item to the write-waiting list (writeItem)

func (*Table) BatchPut

func (t *Table) BatchPut() error

BatchPut executes BatchWriteItem operation from the write-waiting list (writeItem)

func (*Table) Count

func (t *Table) Count(cond *ConditionList) (*QueryResult, error)

Count executes Query operation and get Count.

func (*Table) Delete

func (t *Table) Delete(hashValue interface{}, rangeValue ...interface{}) error

Delete deletes the item.

func (*Table) ForceDeleteAll

func (t *Table) ForceDeleteAll() error

ForceDeleteAll deltes all data in the table. This performs scan all item and delete it each one by one.

func (*Table) GetDesign

func (t *Table) GetDesign() *TableDesign

GetDesign gets table design.

func (*Table) GetOne

func (t *Table) GetOne(hashValue interface{}, rangeValue ...interface{}) (map[string]interface{}, error)

GetOne retrieves a single item by GetOne(HashKey [, RangeKey])

func (*Table) NewConditionList

func (t *Table) NewConditionList() *ConditionList

NewConditionList returns initialized *ConditionList.

func (*Table) Put

func (t *Table) Put() error

Put executes put operation from the write-waiting list (writeItem)

func (*Table) Query

func (t *Table) Query(cond *ConditionList) (*QueryResult, error)

Query executes Query operation.

func (*Table) RefreshDesign

func (t *Table) RefreshDesign() (*TableDesign, error)

RefreshDesign returns refreshed table design.

func (*Table) Scan

func (t *Table) Scan() (*QueryResult, error)

Scan executes Scan operation.

func (*Table) ScanWithCondition

func (t *Table) ScanWithCondition(cond *ConditionList) (*QueryResult, error)

ScanWithCondition executes Scan operation with given condition.

func (*Table) SetDesign

func (t *Table) SetDesign(design *TableDesign)

SetDesign sets table design.

func (*Table) UpdateReadThroughput

func (t *Table) UpdateReadThroughput(r int64) error

UpdateReadThroughput updates the read ProvisionedThroughput.

func (*Table) UpdateThroughput

func (t *Table) UpdateThroughput(r int64, w int64) error

UpdateThroughput updates the r/w ProvisionedThroughput.

func (*Table) UpdateWriteThroughput

func (t *Table) UpdateWriteThroughput(w int64) error

UpdateWriteThroughput updates the write ProvisionedThroughput.

type TableDescription

type TableDescription struct {
	// IsExist will be true only when the api response contains table data
	IsExist bool

	ItemCount         int64
	LatestStreamARN   string
	LatestStreamLabel string
	TableARN          string
	TableID           string
	TableName         string
	TableSizeBytes    int64
	TableStatus       string
	CreationDateTime  time.Time

	AttributeDefinitions   []AttributeDefinition
	KeySchema              []KeySchemaElement
	GlobalSecondaryIndexes []GSIDescription
	LocalSecondaryIndexes  []LSIDescription
	ProvisionedThroughput  ProvisionedThroughputDescription
	BillingModeSummary     BillingModeSummary
	RestoreSummary         RestoreSummary
	SSEDescription         SSEDescription
	StreamSpecification    StreamSpecification
}

TableDescription represents the properties of a table.

func NewTableDescription

func NewTableDescription(out *SDK.TableDescription) TableDescription

NewTableDescription creates TableDescription from SDK's output.

func (TableDescription) IsEmpty

func (d TableDescription) IsEmpty() bool

IsEmpty checks if the data is empty or not.

type TableDesign

type TableDesign struct {
	HashKey    *SDK.KeySchemaElement
	RangeKey   *SDK.KeySchemaElement
	LSI        []*SDK.LocalSecondaryIndex
	GSI        []*SDK.GlobalSecondaryIndex
	Attributes map[string]*SDK.AttributeDefinition
	// contains filtered or unexported fields
}

TableDesign is struct for table schema.

func NewTableDesignWithHashKeyN

func NewTableDesignWithHashKeyN(tableName, keyName string) *TableDesign

NewTableDesignWithHashKeyN returns create table request data for number hashkey

func NewTableDesignWithHashKeyS

func NewTableDesignWithHashKeyS(tableName, keyName string) *TableDesign

NewTableDesignWithHashKeyS returns create table request data for string hashkey

func (*TableDesign) AddGSIN

func (d *TableDesign) AddGSIN(name, hashKey string) error

AddGSIN adds GlobalSecondaryIndex; HashKey=Number.

func (*TableDesign) AddGSINN

func (d *TableDesign) AddGSINN(name, hashKey, rangeKey string) error

AddGSINN adds GlobalSecondaryIndex; HashKey=Number, RangeKey=Number.

func (*TableDesign) AddGSINS

func (d *TableDesign) AddGSINS(name, hashKey, rangeKey string) error

AddGSINS adds GlobalSecondaryIndex; HashKey=Number, RangeKey=String.

func (*TableDesign) AddGSIS

func (d *TableDesign) AddGSIS(name, hashKey string) error

AddGSIS adds GlobalSecondaryIndex; HashKey=String.

func (*TableDesign) AddGSISN

func (d *TableDesign) AddGSISN(name, hashKey, rangeKey string) error

AddGSISN adds GlobalSecondaryIndex; HashKey=String, RangeKey=Number.

func (*TableDesign) AddGSISS

func (d *TableDesign) AddGSISS(name, hashKey, rangeKey string) error

AddGSISS adds GlobalSecondaryIndex; HashKey=String, RangeKey=String.

func (*TableDesign) AddLSIN

func (d *TableDesign) AddLSIN(name, keyName string)

AddLSIN adds LocalSecondaryIndex for Number type.

func (*TableDesign) AddLSIS

func (d *TableDesign) AddLSIS(name, keyName string)

AddLSIS adds LocalSecondaryIndex for String type.

func (*TableDesign) AddRangeKeyN

func (d *TableDesign) AddRangeKeyN(keyName string)

AddRangeKeyN adds range key for Number type.

func (*TableDesign) AddRangeKeyS

func (d *TableDesign) AddRangeKeyS(keyName string)

AddRangeKeyS adds range key for String type.

func (*TableDesign) AttributeList

func (d *TableDesign) AttributeList() []*SDK.AttributeDefinition

AttributeList returns list of *SDK.AttributeDefinition.

func (*TableDesign) CreateTableInput

func (d *TableDesign) CreateTableInput() *SDK.CreateTableInput

CreateTableInput creates *SDK.CreateTableInput from the table design.

func (*TableDesign) GetHashKeyName

func (d *TableDesign) GetHashKeyName() string

GetHashKeyName returns attribute name of the HashKey.

func (*TableDesign) GetItemCount

func (d *TableDesign) GetItemCount() int64

GetItemCount returns items count on this table.

func (*TableDesign) GetKeyAttributes

func (d *TableDesign) GetKeyAttributes() map[string]string

GetKeyAttributes returns KeyAttributes.

func (*TableDesign) GetName

func (d *TableDesign) GetName() string

GetName returns table name.

func (*TableDesign) GetNumberOfDecreasesToday

func (d *TableDesign) GetNumberOfDecreasesToday() int64

GetNumberOfDecreasesToday returns NumberOfDecreasesToday for throughput.

func (*TableDesign) GetRangeKeyName

func (d *TableDesign) GetRangeKeyName() string

GetRangeKeyName returns attribute name of the RangeKey.

func (*TableDesign) GetReadCapacity

func (d *TableDesign) GetReadCapacity() int64

GetReadCapacity returns read capacity.

func (*TableDesign) GetStatus

func (d *TableDesign) GetStatus() string

GetStatus returns table status.

func (*TableDesign) GetWriteCapacity

func (d *TableDesign) GetWriteCapacity() int64

GetWriteCapacity returns write capacity.

func (*TableDesign) HasGSI

func (d *TableDesign) HasGSI() bool

HasGSI checks if at least one GlobalSecondaryIndex is set or not.

func (*TableDesign) HasLSI

func (d *TableDesign) HasLSI() bool

HasLSI checks if at least one LocalSecondaryIndex is set or not.

func (*TableDesign) HasRangeKey

func (d *TableDesign) HasRangeKey() bool

HasRangeKey checks if range key is set or not.

func (*TableDesign) IsActive

func (d *TableDesign) IsActive() bool

IsActive checks if the table status is active or not.

func (*TableDesign) ListGSI

func (d *TableDesign) ListGSI() []*SDK.GlobalSecondaryIndex

ListGSI returns multiple GlobalSecondaryIndex.

func (*TableDesign) ListLSI

func (d *TableDesign) ListLSI() []*SDK.LocalSecondaryIndex

ListLSI returns multiple LocalSecondaryIndex.

func (*TableDesign) SetThroughput

func (d *TableDesign) SetThroughput(r, w int64)

SetThroughput sets read and write throughput.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL