Table Store SDK には、CreateTable、ListTable、DeleteTable、UpdateTable、DescribeTable の各テーブルを操作するためのAPIがあります。
CreateTable
与えられたテーブル構造情報に基づいてテーブルを作成します。
Table Store でテーブルを作成するときは、テーブルのプライマリキーを指定する必要があります。 プライマリキーには 1 つから 4 つのプライマリキー列があります。 各プライマリキー列には名前と型があります。
API
// 説明: 入力されたテーブル情報に基づいてテーブルを作成します。
// request は、tableMeta、TableOption および ReservedThroughput を含む CreateTableRequest クラスのインスタンスです。
// 詳細については、TableMeta クラスのドキュメントを参照してください。 テーブルが作成された後、通常、パーティションのロードには 1 分かかります。
// その後、テーブル操作を実行できます。
// 戻り値: CreateTableResponse
CreateTable(request *CreateTableRequest) (*CreateTableResponse, error)
注 テーブルが作成された後、テーブルのロードには数秒かかります。 この間は何の操作もしないでください。
例
2つのプライマリキー列と (0,0) の予約済み読み書きスループットを持つテーブルを作成します。
// プライマリキーの数量、名前、タイプなど、プライマリキー列のスキーマを作成します。
// 最初のプライマリキー列であるシャーディング列は整数型で pk0 という名前です。
// 2 番目のプライマリキー列は整数型で pk1 という名前です。
tableMeta := new(tablestore.TableMeta)
tableMeta.TableName = tableName
tableMeta.AddPrimaryKeyColumn("pk0", tablestore.PrimaryKeyType_INTEGER)
tableMeta.AddPrimaryKeyColumn("pk1", tablestore.PrimaryKeyType_STRING)
tableOption := new(tablestore.TableOption)
tableOption.TimeToAlive = -1
tableOption.MaxVersion = 3
reservedThroughput := new(tablestore.ReservedThroughput)
reservedThroughput.Readcap = 0
reservedThroughput.Writecap = 0
createtableRequest.TableMeta = tableMeta
createtableRequest.TableOption = tableOption
createtableRequest.ReservedThroughput = reservedThroughput
response, err = client.CreateTable(createtableRequest)
if (err ! = nil) {
fmt.Println("Failed to create table with error:", err)
} else {
fmt.Println("Create table finished")
}
注 完全なサンプルコードは、『createTable@GitHub』をご参照ください。
ListTable
現在のインスタンスの下にあるすべてのテーブルの名前を取得します。
API
// すべてのテーブルを一覧表示します。 操作が成功すると、すべてのテーブルの名前が返されます。
ListTable() (*ListTableResponse, error)
例
インスタンスの下にあるすべてのテーブルの名前を取得します。
tables, err := client.ListTable()
if err ! = nil {
fmt.Println("Failed to list table")
} else {
fmt.Println("List table result is")
for _, table := range (tables.TableNames) {
fmt.Println("TableName: ", table)
}
}
注 完全なサンプルコードは、『listTable@GitHub』をご参照ください。
UpdateTable
指定されたテーブルの予約済み読み書きのスループット値を更新します。
API
// テーブルの TableOptions と ReservedThroughput を更新します。
UpdateTable(request *UpdateTableRequest) (*UpdateTableResponse, error)
例
テーブルの maxVersions を 5 に設定します。
updateTableReq := new(tablestore.UpdateTableRequest)
updateTableReq.TableName = tableName
updateTableReq.TableOption = new(tablestore.TableOption)
updateTableReq.TableOption.TimeToAlive = -1
updateTableReq.TableOption.MaxVersion = 5
_, err := client.UpdateTable(updateTableReq)
if (err ! = nil) {
fmt.Println("failed to update table with error:", err)
} else {
fmt.Println("update finished")
}
注 『updateTable@GitHub』をご参照ください。
DescribeTable
指定されたテーブルの構造情報と予約済み読み書きスループット値を照会します。
API
// テーブル名を使用してテーブルの説明を照会します。
DescribeTable(request *DescribeTableRequest) (*DescribeTableResponse, error)
例
describeTableReq := new(tablestore.DescribeTableRequest)
describeTableReq.TableName = tableName
describ, err := client.DescribeTable(describeTableReq)
if err ! = nil {
fmt.Println("failed to update table with error:", err)
} else {
fmt.Println("DescribeTableSample finished. Table meta:", describ.TableOption.MaxVersion, describ.TableOption.TimeToAlive)
}
注 完全なサンプルコードは、『describeTable@GitHub』をご参照ください。
DeleteTable
インスタンス下の指定されたテーブルを削除します。
API
DeleteTable(request DeleteTableRequest) (DeleteTableResponse, error)
例
テーブルを削除します。
deleteReq := new(tablestore.DeleteTableRequest)
deleteReq.TableName = tableName
_, err := client.DeleteTable(deleteReq)
if (err ! = nil) {
fmt.Println("Failed to delete table with error:", err)
} else {
fmt.Println("Delete table finished")
}
注 完全なサンプルコードは、『deleteTable@GitHub』をご参照ください。