All Products
Search
Document Center

OpenSearch:Perbarui data

Last Updated:Apr 02, 2026

Dorong dokumen ke tabel OpenSearch Vector Search Edition menggunakan SDK Java, Python, atau Go. Setiap operasi dorong dapat menambah, menimpa, atau menghapus satu atau beberapa dokumen dalam satu permintaan.

Penting

Operasi cmd: "add" selalu menimpa seluruh dokumen jika kunci primernya sudah ada. Tidak ada pembaruan parsial—untuk mengubah dokumen, dorong dokumen lengkap yang telah diperbarui menggunakan cmd: "add".

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Instans OpenSearch Vector Search Edition

  • Titik akhir instans, nama pengguna, dan kata sandi (tersedia di bagian API Endpoint pada halaman Instance Details)

  • SDK yang telah diinstal untuk bahasa pemrograman Anda

Instal SDK

Java

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-sdk-ha3engine-vector</artifactId>
    <version>1.1.17</version>
</dependency>

Python

# Memerlukan: Python >=3.6
pip install alibabacloud_ha3engine_vector==1.1.17

Go

go get github.com/aliyun/alibabacloud-ha3-go-sdk@v1.1.17-vector

Java asinkron

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-sdk-ha3engine-async</artifactId>
  <version>1.1.7</version>
</dependency>

Parameter

Konfigurasikan parameter berikut saat menginisialisasi klien SDK.

ParameterDeskripsi
endpointTitik akhir internal atau publik dari instans. Lihat titik akhir di bagian Network Information dan API Endpoint pada halaman Instance Details.
instance_idID instans OpenSearch Vector Search Edition.
access_user_nameUsername untuk akses API. Lihat username di bagian API Endpoint pada halaman Instance Details.
access_pass_wordPassword untuk akses API. Password ditetapkan saat Anda membeli instans dan dapat diubah kapan saja.
data_source_nameNama sumber data API. Format default adalah <instance_id>_<table_name>, contohnya: ha-cn-zpr3dgzxg04_test_image_vector.

Jenis titik akhir

  • Titik akhir publik: Mengandung kata public. Untuk menggunakan titik akhir publik dari mesin on-premises, aktifkan Public Access dan konfigurasikan daftar putih alamat IP. Lakukan ping ke instans sebelum menghubungkan untuk memverifikasi aksesibilitas. Untuk detailnya, lihat bagian Network Information section dalam "View instance details."

  • Titik akhir API: Gunakan titik akhir ini saat mengakses instans dari instans Elastic Compute Service (ECS). Konfigurasikan instans ECS dan instans OpenSearch agar menggunakan vSwitch yang sama.

Unggah dokumen

Gunakan cmd: "add" untuk mendorong dokumen baru atau menimpa dokumen yang sudah ada dengan kunci primer yang sama.

Semua contoh memanggil pushDocuments(tableName, pkField, request), dengan tableName mengikuti format <instance_id>_<table_name>.

Java

import com.aliyun.ha3engine.vector.Client;
import com.aliyun.ha3engine.vector.models.Config;
import com.aliyun.ha3engine.vector.models.PushDocumentsRequest;
import com.aliyun.ha3engine.vector.models.PushDocumentsResponse;
import com.aliyun.tea.TeaException;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

/**
 * @author alibaba
 */
public class PushDoc {

    /**
     * Client engine dari instans OpenSearch Vector Search Edition.
     */
    private Client client;

    @Before
    public void clientInit() throws Exception {
        /*
          Inisialisasi client engine.
         */
        Config config = new Config();

        // Nama instans. Anda dapat melihat nama instans di pojok kiri atas halaman Instance Details. Contoh: ha-cn-i7*****605.
        config.setInstanceId("ha-cn-i7*****605");
        // Username. Anda dapat melihat username di bagian API Endpoint pada halaman Instance Details.
        config.setAccessUserName("username");
        // Password. Anda dapat mengubah password di bagian API Endpoint pada halaman Instance Details.
        config.setAccessPassWord("password");
        // Titik akhir API dari instans. Anda dapat melihat titik akhir API di bagian API Endpoint pada halaman Instance Details.
        config.setEndpoint("ha-cn-i7*****605.public.ha.aliyuncs.com");

        client = new Client(config);
    }

    @Test
    public void add() throws Exception {
        // Nama tabel tempat dokumen didorong. Format: <ID Instans>_<Nama tabel>.
        String tableName = "<instance_id>_<table_name>";

        // Bidang kunci primer dari dokumen yang datanya akan didorong.
        String pkField = "<field_pk>";

        try {
            // Struktur luar yang digunakan untuk mendorong dokumen. Anda dapat menentukan satu atau beberapa operasi dokumen dalam struktur ini.
            ArrayList<Map<String, ?>> documents = new ArrayList<>();

            // Dokumen yang akan diunggah.
            Map<String, Object> add2Document = new HashMap<>();
            Map<String, Object> add2DocumentFields = new HashMap<>();

            // Konten dokumen. Kunci dan nilai harus dipasangkan secara berpasangan.
            // Nilai bidang field_pk harus sama dengan nilai bidang pkField.
            add2DocumentFields.put("<field_pk>", "<field_pk_value>");
            add2DocumentFields.put("<field_map_key_1>", "<field_map_value_1>");
            add2DocumentFields.put("<field_map_key_2>", "<field_map_value_2>");

            // Atribut bernilai ganda didukung. Atur multi_value ke true saat mengonfigurasi tabel indeks.
            ArrayList<Object> addDocumentMultiFields = new ArrayList<>();
            addDocumentMultiFields.add("multi_value_1");
            addDocumentMultiFields.add("multi_value_2");
            add2DocumentFields.put("<multi_value_key>", addDocumentMultiFields);

            // Tambahkan konten dokumen ke struktur add2Document.
            add2Document.put("fields", add2DocumentFields);
            // Jalankan perintah add untuk mengunggah dokumen.
            add2Document.put("cmd", "add");
            documents.add(add2Document);

            // Dorong data.
            PushDocumentsRequest request = new PushDocumentsRequest();
            request.setBody(documents);
            PushDocumentsResponse response = client.pushDocuments(tableName, pkField, request);
            String responseBody = response.getBody();

            System.out.println("result:" + responseBody);

        } catch (TeaException e) {
            System.out.println(e.getCode());
            System.out.println(e.getMessage());
            Map<String, Object> exceptionData = e.getData();
            System.out.println(com.aliyun.teautil.Common.toJSONString(exceptionData));
        }
    }
}

Python

from alibabacloud_ha3engine_vector.client import Client
from alibabacloud_ha3engine_vector.models import Config
from alibabacloud_ha3engine_vector import models
from Tea.exceptions import TeaException, RetryError

config = Config(
    # Titik akhir API dari instans. Anda dapat melihat titik akhir API di bagian API Endpoint pada halaman Instance Details.
    endpoint="http://ha-cn-i7*****605.public.ha.aliyuncs.com",
    # Username. Anda dapat melihat username di bagian API Endpoint pada halaman Instance Details.
    access_user_name="username",
    # Password. Anda dapat mengubah password di bagian API Endpoint pada halaman Instance Details.
    access_pass_word="password")

# Inisialisasi client engine.
client = Client(config)

def push():
    # Nama tabel tempat dokumen didorong. Format: <ID Instans>_<Nama tabel>.
    tableName = "<instance_id>_<table_name>"

    try:
        # Bidang dokumen. Jika dokumen dengan kunci primer yang sama sudah ada, dokumen tersebut akan ditimpa sepenuhnya.
        add2DocumentFields = {
            "id": 1,                          # Bidang kunci primer (tipe INT).
            "name": "Search",                 # Bidang bernilai tunggal (tipe STRING).
            "str_arr": "a\x1Db\x1Dc\x1Dd"    # Bidang bernilai ganda (tipe STRING, dipisahkan oleh \x1D).
        }

        # Tambahkan konten dokumen ke struktur add2Document.
        add2Document = {
            "fields": add2DocumentFields,
            "cmd": "add"                      # Jalankan perintah add untuk mengunggah dokumen.
        }

        optionsHeaders = {}
        # Struktur luar yang digunakan untuk mendorong dokumen. Anda dapat menentukan satu atau beberapa operasi dokumen dalam struktur ini.
        documentArrayList = []
        documentArrayList.append(add2Document)
        pushDocumentsRequest = models.PushDocumentsRequest(optionsHeaders, documentArrayList)

        # Bidang kunci primer dari dokumen yang datanya akan didorong.
        pkField = "id"
        response = client.push_documents(tableName, pkField, pushDocumentsRequest)
        print(response.body)

    except TeaException as e:
        print(f"send request with TeaException : {e}")
    except RetryError as e:
        print(f"send request with Connection Exception  : {e}")

if __name__ == "__main__":
    push()

Go

Contoh ini membungkus data dokumen ke dalam objek Map dan memanggil PushDocuments() untuk mengirimkannya dalam satu permintaan.

package main

import (
    "fmt"
    "github.com/alibabacloud-go/tea/tea"
    ha3engine "github.com/aliyun/alibabacloud-ha3-go-sdk/client"
)

func main() {
    // Buat instans Config.
    config := &ha3engine.Config{
        // Titik akhir API dari instans. Anda dapat melihat titik akhir API di bagian API Endpoint pada halaman Instance Details.
        Endpoint: tea.String("ha-cn-i7*****605.public.ha.aliyuncs.com"),
        // Username. Anda dapat melihat username di bagian API Endpoint pada halaman Instance Details.
        AccessUserName: tea.String("username"),
        // Password. Anda dapat mengubah password di bagian API Endpoint pada halaman Instance Details.
        AccessPassWord: tea.String("password"),
    }

    // Inisialisasi client untuk mengirim permintaan.
    client, _clientErr := ha3engine.NewClient(config)

    // Jika terjadi kesalahan saat membuat client, cetak kesalahan dan keluar.
    if _clientErr != nil {
        fmt.Println(_clientErr)
        return
    }
    docPush(client)
}

func docPush(client *ha3engine.Client) {
    pushDocumentsRequestModel := &ha3engine.PushDocumentsRequest{}
    // Nama tabel tempat dokumen didorong. Format: <ID Instans>_<Nama tabel>.
    tableName := "<instance_id>_<table_name>"
    // Bidang kunci primer dari dokumen yang datanya akan didorong.
    keyField := "<field_pk>"

    a := [20]int{}
    array := []map[string]interface{}{}
    for x := range a {
        filed := map[string]interface{}{
            "fields": map[string]interface{}{
                "id":          tea.ToString(x),
                "fb_boolean":  tea.BoolValue(nil),
                "fb_datetime": "2167747200000",
                "fb_string":   "409a6b18-a10b-409e-af91-07121c45d899",
            },
            "cmd": tea.String("add"),
        }
        array = append(array, filed)

        pushDocumentsRequestModel.SetBody(array)

        // Panggil metode untuk mengirim permintaan.
        response, _requestErr := client.PushDocuments(tea.String(dataSourceName), tea.String(keyField), pushDocumentsRequestModel)

        // Jika terjadi kesalahan saat mengirim permintaan, cetak kesalahan dan keluar.
        if _requestErr != nil {
            fmt.Println(_requestErr)
            return
        }

        // Tampilkan tanggapan.
        fmt.Println(response)
    }
}

Java (mode asinkron)

Klien asinkron mengembalikan CompletableFuture untuk setiap permintaan dorong.

import com.aliyun.ha3engine.async.AsyncClient;
import com.aliyun.ha3engine.async.models.PushDocumentsRequest;
import com.aliyun.ha3engine.async.models.PushDocumentsResponse;
import com.aliyun.sdk.ha3engine.async.core.AsyncConfigInfoProvider;
import com.aliyun.tea.TeaException;
import darabonba.core.client.ClientOverrideConfiguration;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;


/**
 * @author alibaba
 */
public class AddDoc {

    /**
     * Client engine dari instans OpenSearch Vector Search Edition.
     */
    private AsyncClient client;

    @Before
    public void clientInit() {
        // Username dan password yang digunakan untuk mengakses instans. Anda dapat melihat username dan password di bagian API Endpoint pada halaman Instance Details.
        AsyncConfigInfoProvider provider = AsyncConfigInfoProvider.create("username", "password");
        // Inisialisasi client asinkron.
        client = AsyncClient.builder()
                .credentialsProvider(provider)
                .overrideConfiguration(
                        ClientOverrideConfiguration.create()
                                .setEndpointOverride("ha-cn-i7*****605.public.ha.aliyuncs.com")
                                .setProtocol("http")
                ).build();
    }

    @Test
    public void add() {
        try {
            // Nama tabel tempat dokumen didorong. Format: <ID Instans>_<Nama tabel>.
            String tableName = "<instance_id>_<table_name>";

            // Bidang kunci primer dari dokumen yang datanya akan didorong.
            String pkField = "<field_pk>";

            // Struktur luar yang digunakan untuk mendorong dokumen. Anda dapat menentukan satu atau beberapa operasi dokumen dalam struktur ini.
            ArrayList<Map<String, ?>> documents = new ArrayList<>();

            // Dokumen yang akan diunggah.
            Map<String, Object> add2Document = new HashMap<>();
            Map<String, Object> add2DocumentFields = new HashMap<>();

            // Konten dokumen. Kunci dan nilai harus dipasangkan secara berpasangan.
            // Nilai bidang field_pk harus sama dengan nilai bidang pkField.
            add2DocumentFields.put("<field_pk>", "<field_pk_value>");
            add2DocumentFields.put("<field_map_key_1>", "<field_map_value_1>");
            add2DocumentFields.put("<field_map_key_2>", "<field_map_value_2>");

            // Atribut bernilai ganda didukung. Atur multi_value ke true saat mengonfigurasi tabel indeks.
            ArrayList<Object> addDocumentMultiFields = new ArrayList<>();
            addDocumentMultiFields.add("multi_value_1");
            addDocumentMultiFields.add("multi_value_2");
            add2DocumentFields.put("<multi_value_key>", addDocumentMultiFields);

            // Tambahkan konten dokumen ke struktur add2Document.
            add2Document.put("fields", add2DocumentFields);
            // Jalankan perintah add untuk mengunggah dokumen.
            add2Document.put("cmd", "add");
            documents.add(add2Document);

            // Dorong data.
            PushDocumentsRequest request = PushDocumentsRequest.builder().body(documents).build();
            CompletableFuture<PushDocumentsResponse> responseCompletableFuture = client.pushDocuments(tableName, pkField, request);
            String responseBody = responseCompletableFuture.get().getBody();

            System.out.println("result:" + responseBody);
        } catch (ExecutionException | InterruptedException e) {
            System.out.println(e.getMessage());
        } catch (TeaException e) {
            System.out.println(e.getCode());
            System.out.println(e.getMessage());
            Map<String, Object> abc = e.getData();
            System.out.println(com.aliyun.teautil.Common.toJSONString(abc));
        }
    }
}

Hapus dokumen

Gunakan cmd: "delete" untuk menghapus dokumen berdasarkan kunci primernya. Hanya bidang kunci primer yang diperlukan dalam map fields.

Jika indeks Anda menggunakan struktur penghashan bertingkat, tentukan bidang kunci primer untuk setiap tingkat hash.

Java

import com.aliyun.ha3engine.vector.Client;
import com.aliyun.ha3engine.vector.models.*;
import com.aliyun.tea.TeaException;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

/**
 * @author alibaba
 */
public class PushDoc {

    /**
     * Client engine dari instans OpenSearch Vector Search Edition.
     */
    private Client client;

    @Before
    public void clientInit() throws Exception {
        /*
          Inisialisasi client engine.
         */
        Config config = new Config();

        // Nama instans. Anda dapat melihat nama instans di pojok kiri atas halaman Instance Details. Contoh: ha-cn-i7*****605.
        config.setInstanceId("ha-cn-i7*****605");
        // Username. Anda dapat melihat username di bagian API Endpoint pada halaman Instance Details.
        config.setAccessUserName("username");
        // Password. Anda dapat mengubah password di bagian API Endpoint pada halaman Instance Details.
        config.setAccessPassWord("password");
        // Titik akhir API dari instans. Anda dapat melihat titik akhir API di bagian API Endpoint pada halaman Instance Details.
        config.setEndpoint("ha-cn-i7*****605.public.ha.aliyuncs.com");

        client = new Client(config);
    }


    @Test
    public void delete() throws Exception {
        // Nama tabel tempat dokumen didorong. Format: <ID Instans>_<Nama tabel>.
        String tableName = "<instance_id>_<table_name>";

        // Bidang kunci primer dari dokumen yang datanya akan didorong.
        String pkField = "<field_pk>";

        try {
            // Struktur luar yang digunakan untuk mendorong dokumen. Anda dapat menentukan satu atau beberapa operasi dokumen dalam struktur ini.
            ArrayList<Map<String, ?>> documents = new ArrayList<>();

            // Dokumen yang akan dihapus.
            Map<String, Object> delete2Document = new HashMap<>();
            Map<String, Object> delete2DocumentFields = new HashMap<>();

            // Hanya bidang kunci primer yang diperlukan untuk mengidentifikasi dokumen yang akan dihapus.
            delete2DocumentFields.put("<field_pk>", "<field_pk_value>");

            // Tambahkan konten dokumen ke struktur delete2Document.
            delete2Document.put("fields", delete2DocumentFields);
            // Jalankan perintah delete untuk menghapus dokumen.
            delete2Document.put("cmd", "delete");
            documents.add(delete2Document);

            // Dorong data.
            PushDocumentsRequest request = new PushDocumentsRequest();
            request.setBody(documents);
            PushDocumentsResponse response = client.pushDocuments(tableName, pkField, request);
            String responseBody = response.getBody();

            System.out.println("result:" + responseBody);

        } catch (TeaException e) {
            System.out.println(e.getCode());
            System.out.println(e.getMessage());
            Map<String, Object> exceptionData = e.getData();
            System.out.println(com.aliyun.teautil.Common.toJSONString(exceptionData));
        }
    }
}

Python

from alibabacloud_ha3engine_vector.client import Client
from alibabacloud_ha3engine_vector.models import Config
from alibabacloud_ha3engine_vector import models
from Tea.exceptions import TeaException, RetryError

config = Config(
    # Titik akhir API dari instans. Anda dapat melihat titik akhir API di bagian API Endpoint pada halaman Instance Details.
    endpoint="http://ha-cn-i7*****605.public.ha.aliyuncs.com",
    # Username. Anda dapat melihat username di bagian API Endpoint pada halaman Instance Details.
    access_user_name="username",
    # Password. Anda dapat mengubah password di bagian API Endpoint pada halaman Instance Details.
    access_pass_word="password")

# Inisialisasi client engine.
ha3EngineClient = Client(Config)


def pushDoc():
    # Nama tabel tempat dokumen didorong. Format: <ID Instans>_<Nama tabel>.
    tableName = "<instance_id>_<table_name>"

    try:
        documentArrayList = []

        # Hanya bidang kunci primer yang diperlukan untuk menghapus dokumen.
        delete2DocumentFields = {
            "id": 1  # Bidang kunci primer (tipe INT).
        }
        delete2Document = {
            "fields": delete2DocumentFields,  # Tambahkan konten dokumen ke struktur delete2Document.
            "cmd": "delete"                   # Jalankan perintah delete untuk menghapus dokumen.
        }

        optionsHeaders = {}
        documentArrayList.append(delete2Document)
        pushDocumentsRequest = models.PushDocumentsRequest(
            optionsHeaders, documentArrayList
        )

        # Bidang kunci primer dari dokumen yang datanya akan didorong.
        pkField = "id"
        response = ha3EngineClient.push_documents(
            tableName, pkField, pushDocumentsRequest
        )
        print(response)

    except TeaException as e:
        print(f"send request with TeaException : {e}")
    except RetryError as e:
        print(f"send request with Connection Exception  : {e}")


if __name__ == "__main__":
    pushDoc()

Go

package main

import (
    "fmt"
    "github.com/alibabacloud-go/tea/tea"
    ha3engine "github.com/aliyun/alibabacloud-ha3-go-sdk/client"
)

func main() {
    // Buat instans Config.
    config := &ha3engine.Config{
        // Titik akhir API dari instans. Anda dapat melihat titik akhir API di bagian API Endpoint pada halaman Instance Details.
        Endpoint: tea.String("ha-cn-i7*****605.public.ha.aliyuncs.com"),
        // Username. Anda dapat melihat username di bagian API Endpoint pada halaman Instance Details.
        AccessUserName: tea.String("username"),
        // Password. Anda dapat mengubah password di bagian API Endpoint pada halaman Instance Details.
        AccessPassWord: tea.String("password"),
    }

    // Inisialisasi client untuk mengirim permintaan.
    client, _clientErr := ha3engine.NewClient(config)

    // Jika terjadi kesalahan saat membuat client, cetak kesalahan dan keluar.
    if _clientErr != nil {
        fmt.Println(_clientErr)
        return
    }
    deleteDoc(client)
}

func deleteDoc(client *ha3engine.Client) {
    pushDocumentsRequestModel := &ha3engine.PushDocumentsRequest{}
    // Nama tabel tempat dokumen didorong. Format: <ID Instans>_<Nama tabel>.
    tableName := "<instance_id>_<table_name>"
    // Bidang kunci primer dari dokumen yang datanya akan didorong.
    keyField := "<field_pk>"

    var array []map[string]interface{}
    filed := map[string]interface{}{
        "fields": map[string]interface{}{
            "id": 2,  // Nilai kunci primer dari dokumen yang akan dihapus.
        },
        "cmd": tea.String("delete"),
    }
    array = append(array, filed)

    pushDocumentsRequestModel.SetBody(array)

    // Panggil metode untuk mengirim permintaan.
    response, _requestErr := client.PushDocuments(tea.String(tableName), tea.String(keyField), pushDocumentsRequestModel)

    // Jika terjadi kesalahan saat mengirim permintaan, cetak kesalahan dan keluar.
    if _requestErr != nil {
        fmt.Println(_requestErr)
        return
    }

    // Tampilkan tanggapan.
    fmt.Println(response)
}

Java (mode asinkron)

import com.aliyun.ha3engine.async.AsyncClient;
import com.aliyun.ha3engine.async.models.PushDocumentsRequest;
import com.aliyun.ha3engine.async.models.PushDocumentsResponse;
import com.aliyun.sdk.ha3engine.async.core.AsyncConfigInfoProvider;
import com.aliyun.tea.TeaException;
import darabonba.core.client.ClientOverrideConfiguration;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;


/**
 * @author alibaba
 */
public class DeleteDoc {

    /**
     * Client engine dari instans OpenSearch Vector Search Edition.
     */
    private AsyncClient client;

    @Before
    public void clientInit() {
        // Username dan password yang digunakan untuk mengakses instans. Anda dapat melihat username dan password di bagian API Endpoint pada halaman Instance Details.
        AsyncConfigInfoProvider provider = AsyncConfigInfoProvider.create("username", "password");
        // Inisialisasi client asinkron.
        client = AsyncClient.builder()
                .credentialsProvider(provider)
                .overrideConfiguration(
                        ClientOverrideConfiguration.create()
                                .setEndpointOverride("ha-cn-i7*****605.public.ha.aliyuncs.com")
                                .setProtocol("http")
                ).build();
    }

    @Test
    public void delete() throws Exception {
        try {
            // Nama tabel tempat dokumen didorong. Format: <ID Instans>_<Nama tabel>.
            String tableName = "<instance_id>_<table_name>";

            // Bidang kunci primer dari dokumen yang datanya akan didorong.
            String pkField = "<field_pk>";

            // Struktur luar yang digunakan untuk mendorong dokumen. Anda dapat menentukan satu atau beberapa operasi dokumen dalam struktur ini.
            ArrayList<Map<String, ?>> documents = new ArrayList<>();

            // Dokumen yang akan dihapus.
            Map<String, Object> deleteDocument = new HashMap<>();
            Map<String, Object> deleteDocumentFields = new HashMap<>();

            // Hanya bidang kunci primer yang diperlukan untuk mengidentifikasi dokumen yang akan dihapus.
            deleteDocumentFields.put("<field_pk>", "<field_pk_value>");

            // Tambahkan konten dokumen ke struktur deleteDocument.
            deleteDocument.put("fields", deleteDocumentFields);
            // Jalankan perintah delete untuk menghapus dokumen.
            deleteDocument.put("cmd", "delete");
            documents.add(deleteDocument);

            // Dorong data.
            PushDocumentsRequest request = PushDocumentsRequest.builder().body(documents).build();
            CompletableFuture<PushDocumentsResponse> responseCompletableFuture = client.pushDocuments(tableName, pkField, request);
            String responseBody = responseCompletableFuture.get().getBody();

            System.out.println("result:" + responseBody);
        } catch (ExecutionException | InterruptedException e) {
            System.out.println(e.getMessage());
        } catch (TeaException e) {
            System.out.println(e.getCode());
            System.out.println(e.getMessage());
            Map<String, Object> exceptionData = e.getData();
            System.out.println(com.aliyun.teautil.Common.toJSONString(exceptionData));
        }
    }
}

Langkah berikutnya