All Products
Search
Document Center

OpenSearch:Data API

Last Updated:Aug 22, 2026

URL

/update/$table_name/actions/bulk

  • $table_name adalah instance ID_table name. Contohnya, jika instance ID-nya adalah ha-843qfng6ydhb dan nama tabelnya adalah test, maka table_name-nya adalah ha-843qfng6ydhb_test.

  • URL di atas tidak mencakup parameter header permintaan dan encoding.

  • URL di atas tidak mencakup alamat host untuk mengakses aplikasi.

Format yang didukung

JSON

Metode permintaan HTTP

POST

Parameter header

Parameter

Type

Description

authorization

string

Signature

X-Opensearch-Swift-PK-Field

string

Kunci primer dari tabel indeks yang akan didorong. Contoh: id

host

string

Host permintaan. Anda dapat melihatnya di Instance Details > API Endpoint > API Domain. Contoh: ha-cn-**********.ha.aliyuncs.com

Mekanisme signature

Anda dapat menggunakan metode berikut untuk menghitung signature ( authorization)

Parameter

Type

Description

accessUserName

string

Username. Anda dapat melihatnya di halaman detail instans > Informasi Jaringan.

accessPassWord

string

Password. Anda dapat mengubahnya di halaman detail instans > Informasi Jaringan.

import com.aliyun.darabonba.encode.Encoder;
import com.aliyun.darabonbastring.Client;

public class GenerateAuthorization {

 public static void main(String[] args) throws Exception {
 String accessUserName = "username";
 String accessPassWord = "password";
 String realmStr = "" + accessUserName + ":" + accessPassWord + "";
 String authorization = Encoder.base64EncodeToString(Client.toBytes(realmStr, "UTF-8"));
 System.out.println(authorization);
		}
}

Format respons otorisasi yang benar

cm9vdDp******mdhbA==

Catatan: Saat menetapkan parameter authorization dalam permintaan HTTP, Anda harus menambahkan awalan Basic.

Contoh:

authorization: Basic cm9vdDp******mdhbA==

Format data dokumen (body)

[
    {
        "cmd": "add",
        "fields": {
            "id": "1",
            "title": "This is the title",
            "body": "This is the body"
        }
    },
    {
        "cmd": "delete",
        "fields": {
            "id": "3"
        }
    }
]
  • cmd: Wajib diisi. Menentukan operasi untuk dokumen, yang dapat berupa "add" atau "delete". Disarankan melakukan pembaruan batch dalam satu permintaan untuk meningkatkan efisiensi interaksi jaringan dan pemrosesan. "add" berarti menambahkan dokumen; jika dokumen dengan kunci primer yang sama sudah ada, sistem akan terlebih dahulu melakukan "delete", lalu "add". "delete" berarti menghapus dokumen; jika dokumen dengan kunci primer yang sesuai tidak ditemukan, penghapusan tersebut tetap dianggap berhasil.

  • fields: Wajib diisi. Berisi konten dokumen yang akan dioperasikan. Kolom kunci primer wajib disertakan karena semua operasi dalam sistem dilakukan berdasarkan kunci primer. Untuk operasi "delete", cukup menyediakan kunci primer dokumen tersebut.

  • Untuk tipe Array, gunakan JsonArray, seperti [{"fields": { "id": "0","int_array": [14,85],"string_array": ["abc","xyz"]},"cmd": "add"}].

  • Catatan: Lapisan terluar bertipe JsonArray, yang mendukung operasi batch pada beberapa dokumen.

Contoh

Permintaan: (Parameter header permintaan dan encoding dihilangkan di sini.)

http://ha-cn-**********.ha.aliyuncs.com/update/$table_name/actions/bulk

//Data berikut yang akan diunggah harus ditempatkan di dalam body
[{
	"cmd": "add",
	"fields": {
		"id": 1,
		"name": "Test Data Push"
	}
}]

Tanggapan sukses

Tidak adanya parameter nilai kembali menandakan bahwa proses dorong berhasil.

Tanggapan kesalahan

[
    {
        "code": 3012,
        "message": "Resource not found."
    }
]

Catatan

  • Saat menggunakan API atau SDK untuk mendorong data, nama kolom aplikasi bersifat case-insensitive (tidak membedakan huruf besar/kecil).

  • Terdapat batasan jumlah dan ukuran saat menggunakan API atau SDK untuk mendorong data. Batasan tersebut bervariasi tergantung pada aplikasi. Untuk informasi lebih lanjut, lihat deskripsi batasan sistem.

  • Setelah mengunggah data, pastikan Anda memeriksa nilai kembali dan mencoba ulang untuk kode kesalahan tertentu (terutama error 3007). Jika tidak, kehilangan data dapat terjadi. Selain itu, pemrosesan data bersifat asinkron. Nilai kembali "OK" hanya menandakan bahwa sistem telah berhasil menerima data. Kesalahan selama pemrosesan data akan ditampilkan dalam pesan kesalahan di Konsol, jadi segera periksa pesan tersebut.

  • Terdapat batasan ukuran untuk data POST. Jika total volume dokumen yang diunggah terlalu besar (2 MB sebelum encoding), server akan menolak menerima parameter apa pun dan mengembalikan pengecualian.