All Products
Search
Document Center

Tablestore:Kueri informasi tabel

Last Updated:Apr 30, 2026

Kueri informasi tabel—termasuk skema, konfigurasi, pengaturan Stream, enkripsi sisi server (SSE), throughput tereservasi, dan indeks sekundernya—menggunakan Tablestore SDK untuk Go.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Referensi API

func (tableStoreClient *TableStoreClient) DescribeTable(request *DescribeTableRequest) (*DescribeTableResponse, error)

Parameter DescribeTableRequest

TableName (wajib) string: Nama tabel.

Kode contoh

Contoh berikut mengkueri informasi tabel test_table.

func DescribeTableSample(client *tablestore.TableStoreClient) {
    describeTableReq := new(tablestore.DescribeTableRequest)
    describeTableReq.TableName = "test_table"
    response, err := client.DescribeTable(describeTableReq)
    if err != nil {
        fmt.Println("Failed to describe table with error:", err)
    } else {
        // Dapatkan skema tabel.
        tableMeta := response.TableMeta
        fmt.Printf("* Nama tabel: %s \n", tableMeta.TableName)
        fmt.Println("* Informasi kunci primer (tipe kunci primer 1:INTEGER,2:STRING,3:BINARY)")
        for _, schemaEntry := range tableMeta.SchemaEntry {
            fmt.Printf("%s:%v \n", *schemaEntry.Name, *schemaEntry.Type)
        }
        fmt.Println("* Informasi kolom pradefinisi (tipe kolom pradefinisi 1:INTEGER,2:DOUBLE,3:BOOLEAN,4:STRING,5:BINARY)")
        for _, definedColumn := range tableMeta.DefinedColumns {
            fmt.Printf("%s:%v \n", definedColumn.Name, definedColumn.ColumnType)
        }

        // Dapatkan konfigurasi tabel.
        tableOption := response.TableOption
        fmt.Println("* Konfigurasi tabel")
        fmt.Printf("Versi maksimum: %d \n", tableOption.MaxVersion)
        fmt.Printf("Time to live (TTL): %d \n", tableOption.TimeToAlive)
        fmt.Printf("Offset versi maksimum: %d \n", tableOption.DeviationCellVersionInSec)
        fmt.Printf("Izinkan pembaruan: %t \n", *tableOption.AllowUpdate)

        // Dapatkan pengaturan Stream tabel.
        streamDetails := response.StreamDetails
        fmt.Printf("* Stream diaktifkan: %t \n", streamDetails.EnableStream)
        if streamDetails.EnableStream {
            fmt.Printf("Waktu kedaluwarsa Stream: %d \n", streamDetails.ExpirationTime)
        }

        // Dapatkan pengaturan enkripsi sisi server (SSE) tabel.
        sseDetails := response.SSEDetails
        fmt.Printf("* SSE diaktifkan: %t \n", sseDetails.Enable)
        if sseDetails.Enable {
            fmt.Printf("Tipe kunci enkripsi: %s \n", sseDetails.KeyType.String())
        }

        // Dapatkan throughput tereservasi tabel.
        reservedThroughput := response.ReservedThroughput
        fmt.Println("* Throughput tereservasi")
        fmt.Printf("Throughput baca tereservasi: %d \n", reservedThroughput.Readcap)
        fmt.Printf("Throughput tulis tereservasi: %d \n", reservedThroughput.Writecap)

        // Dapatkan informasi indeks sekunder.
        indexMetas := response.IndexMetas
        for _, indexMeta := range indexMetas {
            fmt.Printf("* Nama indeks sekunder: %s \n", indexMeta.IndexName)
            fmt.Printf("Kolom kunci primer: %v \n", indexMeta.Primarykey)
            fmt.Printf("Kolom pradefinisi: %v \n", indexMeta.DefinedColumns)
            fmt.Printf("Tipe indeks sekunder: %d (0:IT_GLOBAL_INDEX,1:IT_LOCAL_INDEX) \n", indexMeta.IndexType)
        }
    }
}

Referensi

Query information of a time series table