Topik ini menjelaskan cara melakukan pemrosesan data saat Anda mengunggah dokumen.
Unggah dokumen
Application Programming Interface (API) ini mendukung penambahan, pembaruan, dan penghapusan dokumen. Operasi batch untuk aksi tersebut juga didukung.
-
URL
/v3/openapi/apps/$app_name/$table_name/actions/bulk-
$app_name menentukan nama aplikasi Anda.
-
$table_name menentukan nama tabel tempat Anda ingin mendorong data.
-
URL di atas menghilangkan parameter header permintaan dan detail encoding.
-
URL di atas menghilangkan alamat host aplikasi.
-
Format yang didukung: JSON
Metode permintaan HTTP: POST
Parameter permintaan
Untuk informasi lebih lanjut tentang penandatanganan permintaan dan pengaturan header permintaan, lihat mekanisme signature v3 API.
Format data dokumen
Contoh berikut menunjukkan format datanya:
[
{
"cmd": "add",
"timestamp": 1401342874777,
"fields": {
"id": "1",
"title": "This is the title",
"body": "This is the body"
}
},
{
"cmd": "delete",
"fields": {
"id": "2"
}
}
]
-
cmd: Wajib diisi. Menentukan operasi yang akan dilakukan pada dokumen. Nilai yang valid adalah add dan delete. Untuk meningkatkan efisiensi jaringan, Anda dapat melakukan pembaruan batch dalam satu permintaan. Operasi add menambahkan dokumen baru. Jika dokumen dengan kunci primary yang sama sudah ada, sistem terlebih dahulu menghapus dokumen yang ada lalu menambahkan yang baru. Operasi delete menghapus dokumen. Jika dokumen dengan kunci primary yang ditentukan tidak ada, operasi tetap dianggap berhasil.
-
fields: Wajib diisi. Menentukan konten dokumen. Bidang kunci primary wajib disertakan karena semua operasi sistem menggunakan kunci primary. Untuk operasi delete, Anda hanya perlu menyediakan kunci primary dokumen tersebut.
-
Untuk tipe Array, gunakan JsonArray. Contohnya:
[{"fields": { "id": "0","int_array": [14,85],"string_array": ["abc","xyz"]},"cmd": "ADD"}]. -
Catatan: Elemen tingkat teratas adalah JsonArray yang mendukung operasi batch pada beberapa dokumen.
Hasil kembali
|
Parameter |
Tipe |
Deskripsi |
|
errors |
array |
Konten kesalahan. message menunjukkan pesan kesalahan. params menunjukkan parameter kesalahan. code menunjukkan kode kesalahan. |
|
request_id |
string |
ID permintaan. Gunakan ID ini untuk troubleshooting. |
|
status |
string |
Hasil operasi. OK menunjukkan keberhasilan. FAIL menunjukkan kegagalan. Jika operasi gagal, lakukan troubleshooting berdasarkan kode kesalahan yang dikembalikan. |
|
result |
string |
Parameter ini dikembalikan jika operasi berhasil. Nilainya adalah true. Parameter ini tidak dikembalikan jika terjadi kesalahan. |
Contoh
Permintaan: (Contoh ini menghilangkan parameter header permintaan dan detail encoding.)
http://host/v3/openapi/apps/app_schema_demo/tab/actions/bulk
// Tempatkan data berikut di 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 specified application does not exist.",
"params": {
"friendly_message": "The specified application does not exist."
}
}
],
"request_id": "150116732819940316116461",
"status": "FAIL"
}
Catatan
-
Saat Anda mendorong data menggunakan API atau SDK, nama bidang dalam aplikasi tidak bersifat case-sensitive.
-
Pendataan menggunakan API atau SDK dikenai batasan frekuensi dan ukuran. Batasan ini berbeda-beda tergantung aplikasinya. Untuk informasi selengkapnya, lihat Batasan.
-
Setelah Anda mengunggah data, periksa nilai kembali. Untuk mencegah kehilangan data, Anda harus mencoba ulang operasi jika kode kesalahan tertentu dikembalikan, seperti kode kesalahan 3007. Pemrosesan data bersifat asinkron. Nilai kembali "OK" hanya menunjukkan bahwa sistem berhasil menerima data. Kesalahan yang terjadi selama pemrosesan data muncul di Konsol. Anda harus segera memeriksa Konsol untuk pesan kesalahan.
-
Ukuran data dalam permintaan POST dibatasi. Jika ukuran total dokumen yang Anda unggah melebihi 2 MB sebelum encoding, server akan menolak permintaan dan mengembalikan kesalahan.
-
Jika badan permintaan POST berisi karakter Tionghoa, Anda harus meng-encode data dalam UTF-8. Anda juga harus meng-encode data dalam UTF-8 sebelum menghitung nilai MD5 untuk header Content-MD5. Jika tidak, operasi dorong akan gagal.