全部产品
Search
文档中心

OpenSearch:Memproses data

更新时间:Jun 26, 2025

Unggah dokumen

Anda dapat menggunakan API untuk membuat, memperbarui, dan menghapus satu atau beberapa dokumen sesuai kebutuhan.

URL

/v3/openapi/apps/$app_name/$table_name/actions/bulk
  • Ganti $app_name dengan nama aplikasi yang ingin Anda kelola.

  • Ganti $table_name dengan nama tabel yang digunakan untuk menerima data di aplikasi Anda.

  • Contoh URL tidak mencakup informasi seperti header permintaan dan metode pengkodean.

  • Contoh URL juga menghilangkan titik akhir yang digunakan untuk terhubung ke OpenSearch.

Format yang Didukung

JSON

Metode Permintaan HTTP

POST

Parameter Permintaan

Untuk informasi tentang cara menghitung string tanda tangan dan menentukan header untuk permintaan dalam mendorong data, lihat Metode Tanda Tangan API OpenSearch V3.

Sintaks Perintah Pemrosesan Data

Catatan

Aplikasi standar tidak mendukung parameter timestamp. Jika Anda menentukan parameter timestamp dalam permintaan, kode kesalahan 4007 akan dikembalikan.

Kode contoh berikut menunjukkan cara memproses data untuk aplikasi tingkat lanjut:

[
    {
        "cmd": "add",
        "timestamp": 1401342874777,
        "fields": {
            "id": "1",
            "title": "Inilah judulnya",
            "body": "Inilah isi tubuhnya"
        }
    },
    {
        "cmd": "update",
        "timestamp": 1401342874778,
        "fields": {
            "id": "2",
            "title": "Inilah judul baru"
        }
    },
    {
        "cmd": "delete",
        "fields": {
            "id": "3"
        }
    }
]
  • timestamp: opsional. Waktu ketika operasi dilakukan pada dokumen, dalam milidetik. OpenSearch menggunakan timestamp untuk mengidentifikasi urutan dokumen dengan nilai kunci utama tertentu. Parameter ini hanya didukung oleh aplikasi tingkat lanjut. Jika Anda menggunakan aplikasi standar, penentuan parameter ini akan menghasilkan kode kesalahan 4007. Secara default, jika parameter ini tidak ditentukan, OpenSearch menggunakan waktu penerimaan dokumen sebagai timestamp.

  • cmd: wajib. Operasi yang akan dilakukan pada dokumen. Nilai valid: add, update, dan delete. Nilai update tidak didukung untuk aplikasi standar. Kami merekomendasikan mengirim permintaan untuk beberapa operasi sekaligus guna meningkatkan efisiensi interaksi jaringan dan pemrosesan. Nilai add menentukan pembuatan dokumen baru; jika dokumen dengan nilai kunci utama tertentu sudah ada, dokumen asli dihapus sebelum dokumen baru dibuat. Nilai update memperbarui bidang tertentu dalam dokumen. Nilai delete menghapus dokumen; jika tidak ada dokumen dengan nilai kunci utama tertentu, dokumen tersebut diabaikan.

  • fields: wajib. Bidang tempat operasi akan dilakukan dalam dokumen. Anda harus menentukan bidang kunci utama karena OpenSearch mengidentifikasi dokumen berdasarkan nilai kunci utamanya. Untuk menghapus dokumen, cukup tentukan bidang kunci utamanya saja.

  • Untuk menentukan bidang tipe ARRAY, gunakan format larik JSON. Contoh: {"fields": { "id": "0","int_array": [14,85],"string_array": ["abc","xyz"]},"cmd": "ADD"}].

  • Dalam kode contoh, lapisan terluar adalah larik JSON yang digunakan untuk mengelola beberapa dokumen sekaligus.

Parameter Respons

Parameter

Tipe

Deskripsi

errors

ARRAY

Informasi kesalahan, di mana parameter message menunjukkan pesan kesalahan, parameter params menunjukkan parameter kesalahan, dan parameter code menunjukkan kode kesalahan. Untuk informasi lebih lanjut tentang kode kesalahan, lihat Kode kesalahan.

request_id

STRING

ID permintaan, yang digunakan untuk pemecahan masalah.

status

STRING

Hasil eksekusi permintaan. Nilai valid: OK dan FAIL. Nilai OK menunjukkan bahwa permintaan berhasil. Nilai FAIL menunjukkan bahwa permintaan gagal. Dalam hal ini, pecahkan masalah berdasarkan kode kesalahan.

result

STRING

Hasil permintaan. Nilai true dikembalikan untuk permintaan yang berhasil. Parameter ini tidak dikembalikan untuk permintaan yang gagal.

Contoh

Contoh permintaan API untuk pemrosesan data, tanpa mencakup informasi seperti parameter dalam header permintaan dan metode pengkodean:

http://host/v3/openapi/apps/app_schema_demo/tab/actions/bulk

// Dokumen yang akan diunggah, yang perlu ditempatkan di badan permintaan.
[{"cmd":"ADD","fields":{"id":1,"name":"Data Uji Coba"}}]

Contoh Respons Sukses

{
    "errors": [],
    "request_id": "150116724719940316170289",
    "status": "OK",
    "result": true
}

Contoh Respons Kesalahan

{
    "errors": [
        {
            "code": 2001,
            "message": "Aplikasi yang akan dikelola tidak ada. Aplikasi yang akan dikelola tidak ada.",
            "params": {
                "friendly_message": "Aplikasi yang akan dikelola tidak ada."
            }
        }
    ],
    "request_id": "150116732819940316116461",
    "status": "FAIL"
}

Catatan Penggunaan

  • Saat mendorong data melalui API atau SDK OpenSearch, nama bidang aplikasi tidak peka huruf besar-kecil.

  • Anda dapat mendorong data dengan batasan jumlah dan ukuran tertentu melalui API atau SDK OpenSearch. Batasan berbeda diberlakukan pada aplikasi yang berbeda. Untuk informasi lebih lanjut, lihat Batasan.

  • Setelah mengirim permintaan untuk mengunggah data, periksa nilai balik. Jika kode kesalahan dikembalikan, pecahkan masalah berdasarkan kode kesalahan untuk mencegah kehilangan data. Perhatikan khususnya kode kesalahan 3007. OpenSearch memproses data secara asinkron. Nilai balik OK menunjukkan bahwa OpenSearch menerima data, tetapi bukan berarti data diproses dengan benar. Jika terjadi kesalahan selama pemrosesan, pesan kesalahan terkait akan ditampilkan di konsol OpenSearch. Periksa pesan kesalahan sesegera mungkin.

  • Permintaan HTTP POST hanya dapat mengunggah data dengan ukuran terbatas. Jika ukuran data sebelum pengkodean melebihi 2 MB, OpenSearch akan menolak permintaan dan mengembalikan kesalahan.

  • Jika body dari permintaan HTTP POST untuk mendorong data berisi karakter Tionghoa, pastikan body dikodekan dalam UTF-8. Selain itu, nilai header Content-MD5 juga harus dikodekan dalam UTF-8 sebelum nilai MD5 dihitung. Jika tidak, kesalahan akan dikembalikan dan permintaan gagal.