All Products
Search
Document Center

OpenSearch:Pemrosesan data

Last Updated:Mar 06, 2026

Unggah dokumen

Anda dapat menambahkan, memperbarui, dan menghapus dokumen satu per satu atau secara batch.

URL

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

  • Ganti $table_name dengan nama tabel penerima data di aplikasi Anda.

  • Contoh URL ini tidak mencantumkan header permintaan dan informasi encoding.

  • URL ini tidak mencakup alamat host aplikasi.

Format yang didukung

JSON

Metode permintaan HTTP

POST

Parameter permintaan

Untuk mempelajari cara menghitung string signature dan mengonfigurasi header permintaan untuk dorong data, lihat Mekanisme Signature API V3.

Format data dokumen

Catatan

Aplikasi Edisi Standar tidak mendukung parameter timestamp. Jika Anda menentukan parameter ini, kode kesalahan 4007 akan dikembalikan.

Contoh berikut menunjukkan format data Edisi Premium:

[
    {
        "cmd": "add",
        "timestamp": 1401342874777,
        "fields": {
            "id": "1",
            "title": "This is the title",
            "body": "This is the body"
        }
    },
    {
        "cmd": "update",
        "timestamp": 1401342874778,
        "fields": {
            "id": "2",
            "title": "This is the new title"
        }
    },
    {
        "cmd": "delete",
        "fields": {
            "id": "3"
        }
    }
]
  • timestamp: Opsional. Timestamp operasi dokumen, dalam milidetik. OpenSearch menggunakan nilai ini untuk menentukan urutan pemrosesan operasi pada dokumen dengan kunci primary yang sama. Parameter ini hanya didukung oleh aplikasi Edisi Premium. Jika Anda menentukannya untuk aplikasi Edisi Standar, kode kesalahan 4007 akan dikembalikan. Jika tidak ditentukan, OpenSearch menggunakan waktu saat menerima dokumen tersebut.

  • cmd: Wajib. Menentukan operasi yang akan dilakukan pada dokumen:

    • add: Menambahkan dokumen. Jika dokumen dengan kunci primary yang sama sudah ada, dokumen yang ada akan dihapus sebelum dokumen baru ditambahkan.

    • delete: Menghapus dokumen. Jika tidak ada dokumen dengan kunci primary yang ditentukan, operasi tetap dianggap berhasil.

    • update: Memperbarui bidang tertentu dari dokumen dengan kunci primary yang ditentukan.

    • upsert: Memperbarui dokumen jika kunci primary yang ditentukan ada. Jika tidak ada, menambahkan dokumen baru.

      Catatan

      Aplikasi Edisi Standar tidak mendukung `update` atau `upsert`.

      Anda dapat mengelompokkan beberapa operasi dalam satu permintaan untuk meningkatkan efisiensi.

  • fields: Wajib. Bidang dokumen yang akan dioperasikan. Bidang kunci primary wajib dicantumkan karena OpenSearch menggunakannya untuk mengidentifikasi dokumen. Untuk operasi delete, hanya bidang kunci primary yang diperlukan.

  • Untuk bidang bertipe Array, gunakan array JSON, seperti [{"fields": { "id": "0","int_array": [14,85],"string_array": ["abc","xyz"]},"cmd": "ADD"}].

  • Lapisan terluar badan permintaan adalah array JSON, yang memungkinkan Anda mengelola beberapa dokumen dalam satu permintaan.

Hasil pengembalian

Parameter

Tipe

Deskripsi

errors

ARRAY

Detail kesalahan. Setiap objek kesalahan berisi message (deskripsi kesalahan), params (parameter kesalahan), dan code (kode kesalahan). Untuk informasi selengkapnya, lihat Kode kesalahan.

request_id

string

ID permintaan, digunakan untuk troubleshooting.

status

string

Hasil permintaan. Nilai yang valid: OK (berhasil) dan FAIL (gagal). Jika nilainya FAIL, lakukan troubleshooting berdasarkan kode kesalahan.

result

string

Hasil permintaan. Mengembalikan true untuk permintaan yang berhasil. Tidak dikembalikan untuk permintaan yang gagal.

Contoh

Contoh permintaan (header dan encoding dihilangkan):

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

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

Tanggapan sukses

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

Tanggapan kesalahan

{
    "errors": [
        {
            "code": 2001,
            "message": "The application to be managed does not exist. The application to be managed does not exist.",
            "params": {
                "friendly_message": "The application to be managed does not exist."
            }
        }
    ],
    "request_id": "150116732819940316116461",
    "status": "FAIL"
}

Catatan penggunaan

  • Saat Anda mendorong data menggunakan API atau SDK, nama bidang tidak peka terhadap huruf besar/kecil.

  • Batas frekuensi dan ukuran dorong data bervariasi tergantung jenis aplikasi. Untuk informasi selengkapnya, lihat Batas Sistem.

  • Selalu periksa nilai kembali setelah mengunggah data dan segera lakukan troubleshooting terhadap kode kesalahan apa pun untuk mencegah kehilangan data. Berikan perhatian khusus pada kode kesalahan 3007. Karena OpenSearch memproses data secara asinkron, nilai kembali OK hanya menunjukkan bahwa data telah diterima, bukan bahwa data telah diproses dengan sukses. Periksa Konsol OpenSearch secara berkala untuk mendeteksi kesalahan pemrosesan.

  • Ukuran maksimum badan permintaan sebelum encoding adalah 2 MB. OpenSearch menolak permintaan yang melebihi batas ini.

  • Jika badan permintaan berisi karakter Tionghoa, Anda harus menggunakan encoding UTF-8. Nilai header Content-MD5 juga harus dihitung berdasarkan badan yang telah di-encode UTF-8. Jika tidak, permintaan akan gagal.