すべてのプロダクト
Search
ドキュメントセンター

Tablestore:行の読み取り

最終更新日:Aug 13, 2026

Tablestore SDK for Go を使用して、完全なプライマリキーを指定して Wide Column モデルのテーブルから行を読み取ります。

前提条件

Tablestore SDK for Go をインストールし、クライアントを初期化します。

概要

GetRow を呼び出して、完全なプライマリキーを指定して行を読み取ります。 返される属性列、データバージョン、バージョンの時間範囲を制限したり、フィルターを使用して属性列を絞り込んだりできます。

func (tableStoreClient *TableStoreClient) GetRow(request *GetRowRequest) (*GetRowResponse, error)

次のサンプルでは、プライマリキーの値が row1 の行を example_table テーブルから読み取ります。

primaryKey := &tablestore.PrimaryKey{}
primaryKey.AddPrimaryKeyColumn("id", "row1")

request := &tablestore.GetRowRequest{
    SingleRowQueryCriteria: &tablestore.SingleRowQueryCriteria{
        TableName:  "example_table",
        PrimaryKey: primaryKey,
        MaxVersion: 1,
    },
}

response, err := client.GetRow(request)
if err != nil {
    log.Fatal(err)
}

fmt.Println(response.PrimaryKey)
fmt.Println(response.Columns)

パラメーター

GetRowRequest には、次のパラメーターが含まれています。

名前

説明

SingleRowQueryCriteria (必須)

*SingleRowQueryCriteria

行のクエリ条件。

行のクエリ条件

SingleRowQueryCriteria には、次のパラメーターが含まれています。

名前

説明

TableName (必須)

string

テーブル名。

PrimaryKey (必須)

*PrimaryKey

行の完全なプライマリキー。 自動採番主キー列を含む行を読み取るには、実際の自動採番値も指定します。

MaxVersion (任意)

int32

返すデータバージョンの最大数。 値を 0 に設定すると、TimeRange で指定された時間範囲内のすべてのバージョンが返されます。 MaxVersionTimeRange のうち、少なくとも 1 つは必須です。

TimeRange (任意)

*TimeRange

バージョンの時間範囲。開始時間、終了時間、または正確なバージョンをミリ秒単位で指定します。 MaxVersionTimeRange のうち、少なくとも 1 つは必須です。

ColumnsToGet (任意)

[]string

返す属性列。 このパラメーターを指定しない場合、すべての属性列が返されます。 ColumnsToGetFilter の両方を指定した場合、Tablestore はまず ColumnsToGet で指定された列を選択し、次に選択した列に Filter を適用します。 FilterColumnsToGet に含まれていない列を参照する場合、その列は欠損しているものとして扱われます。 行がフィルターで除外されるかどうかは、FilterIfMissing によって決まります。

Filter (任意)

ColumnFilter

属性列のフィルター。 詳細については、「フィルターの使用」をご参照ください。

StartColumn (任意)

*string

名前範囲の開始属性列。 この列は結果に含まれます。

EndColumn (任意)

*string

名前範囲の終了属性列。 この列は結果から除外されます。

TransactionId (任意)

*string

ローカルトランザクション ID。 このパラメーターは、ローカルトランザクションで読み取りを行う場合にのみ指定します。 詳細については、「ローカルトランザクションの使用」をご参照ください。

レスポンス

GetRowResponse には、次のビジネス情報が含まれています。 行が存在しない場合、レスポンスにはプライマリキーや属性列は含まれません。

フィールド

説明

PrimaryKey

PrimaryKey

行のプライマリキー。

Columns

[]*AttributeColumn

返された属性列、値、およびバージョン。

使用例

時間範囲内のデータバージョンの読み取り

次のサンプルでは、過去 1 日以内に生成されたすべてのデータバージョンを読み取ります。

now := time.Now().UnixMilli()
request.SingleRowQueryCriteria.MaxVersion = 0
request.SingleRowQueryCriteria.TimeRange = &tablestore.TimeRange{
    Start: now - 24*60*60*1000,
    End:   now,
}