全部产品
Search
文档中心

Tablestore:Gunakan SDK Tablestore

更新时间:Jul 06, 2025

Fitur kueri SQL menyediakan antarmuka akses terpusat untuk berbagai mesin data Tablestore dan kompatibel dengan sintaks kueri MySQL. Sebelum menggunakan fitur ini untuk menanyakan data dalam tabel, Anda harus membuat tabel pemetaan untuk tabel tersebut.

Penting

Topik ini menjelaskan cara menggunakan fitur kueri SQL untuk menanyakan data dalam tabel. Untuk informasi tentang penggunaannya pada data deret waktu, lihat Gunakan SQL untuk menanyakan data deret waktu.

Catatan penggunaan

Fitur kueri SQL tersedia di wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Ulanqab), Tiongkok (Shenzhen), Tiongkok (Chengdu), Tiongkok (Hong Kong), Jepang (Tokyo), Singapura, Malaysia (Kuala Lumpur), Inggris (London), AS (Silicon Valley), Indonesia (Jakarta), Jerman (Frankfurt), SAU (Riyadh - Partner Region), dan AS (Virginia).

Prasyarat

  • Jika Anda ingin menanyakan data sebagai pengguna RAM, pastikan pengguna RAM telah dibuat dan diberikan semua izin operasi SQL. Anda dapat mengonfigurasi "Action": "ots:SQL*" dalam kebijakan kustom yang dilampirkan pada pengguna RAM untuk memberikan semua izin operasi SQL. Untuk detail lebih lanjut, lihat Gunakan kebijakan RAM untuk memberikan izin kepada pengguna RAM.

  • Pasangan AccessKey yang terdiri dari ID AccessKey dan Rahasia AccessKey telah diperoleh. Untuk informasi lebih lanjut, lihat Buat pasangan AccessKey.

  • Tabel data telah dibuat.

  • Instansi OTSClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi klien Tablestore.

Prosedur

Anda dapat menggunakan SDK Tablestore untuk Java, SDK Tablestore untuk Go, SDK Tablestore untuk Python, SDK Tablestore untuk Node.js, SDK Tablestore untuk .NET, atau SDK Tablestore untuk PHP untuk menanyakan data dengan menjalankan pernyataan SQL. Contoh ini menggunakan SDK Tablestore untuk Java.

Setelah menjalankan pernyataan CREATE TABLE untuk membuat tabel pemetaan untuk tabel yang ada, Anda dapat menjalankan pernyataan SELECT untuk menanyakan data dalam tabel tersebut.

  1. Jalankan pernyataan CREATE TABLE untuk membuat tabel pemetaan untuk tabel yang ada.

    Contoh berikut menunjukkan cara menggunakan pernyataan create table test_table (pk varchar(1024), long_value bigint(20), double_value double, string_value mediumtext, bool_value bool, primary key(pk)) untuk membuat tabel pemetaan untuk tabel test_table.

    private static void createTable(SyncClient client) {
        // Buat permintaan SQL.
        SQLQueryRequest request = new SQLQueryRequest("create table test_table (pk varchar(1024), long_value bigint(20), double_value double, string_value mediumtext, bool_value bool, primary key(pk))");
    
        client.sqlQuery(request);
    }
  2. Jalankan pernyataan SELECT untuk menanyakan data dalam tabel.

    public static void queryDataExample(SyncClient client) {
        // Tentukan pernyataan SQL.
        SQLQueryRequest request = new SQLQueryRequest("select order_id, user_id, sku_id, price, num, total_price, order_status, create_time, modified_time from test_table limit 10;");
        SQLQueryResponse response = client.sqlQuery(request);
    
        // Tentukan informasi RequestId.
        System.out.println("RequestId: " + response.getRequestId());
            /*// Baca informasi konsumsi throughput.
            System.out.println("Konsumsi throughput baca (per tabel):");
            for(Map.Entry<String, ConsumedCapacity> entry : response.getConsumedCapacity().entrySet()) {
                System.out.println(entry.getKey() + ": " + entry.getValue().getCapacityUnit().getReadCapacityUnit() + "CU");
            }*/
    
        // Dapatkan hasil kueri SQL.
        SQLResultSet resultSet = response.getSQLResultSet();
        // Kembalikan informasi skema.
        System.out.println("Skema: " + response.getSQLResultSet().getSQLTableMeta().getSchema());
        // Detail data
        System.out.println("Detail data:");
        while (resultSet.hasNext()) {
            SQLRow row = resultSet.next();
            System.out.println(row.get("order_id") + ", "
                    + row.get("user_id") + ", "
                    + row.get("sku_id") + ", "
                    + row.get("price") + ", "
                    + row.get("num") + ", "
                    + row.get("total_price") + ", "
                    + row.get("order_status") + ", "
                    + row.get("create_time") + ", "
                    + row.get("modified_time"));
        }
    }

FAQ

Referensi