Topik ini menjelaskan cara mengunggah gambar ke Image Search.
Informasi latar belakang
Image Search menyediakan dua metode untuk mengunggah gambar: menggunakan API atau SDK, atau melakukan operasi batch dengan gambar dari Object Storage Service (OSS).
-
Jika Anda hanya perlu mengunggah beberapa gambar, kami menyarankan menggunakan API atau SDK. Untuk informasi selengkapnya, lihat AddImage.
-
Jika Anda adalah pengguna enterprise atau perlu mengunggah banyak gambar yang tidak berada di Object Storage Service (OSS), gunakan tool ossimport untuk memigrasikannya ke bucket OSS guna unggahan batch. Lihat Prosedur untuk detailnya.
-
Jika Anda adalah pengguna enterprise atau perlu mengunggah sejumlah besar gambar yang sudah disimpan di bucket Object Storage Service (OSS), lihat Lakukan operasi batch.
PentingUntuk menggunakan fitur operasi batch Image Search, pastikan instans Image Search dan bucket OSS berada di wilayah yang sama.
Ossimport
ossimport adalah tool Object Storage Service (OSS) untuk memigrasikan data ke bucket OSS. Anda dapat men-deploy-nya di server lokal atau instans ECS untuk memigrasikan data dari penyimpanan on-premises atau layanan cloud lainnya ke OSS.
Menggunakan ossimport untuk mengunggah gambar memberikan manfaat berikut:
-
Menjaga indeks gambar di mesin pencari tetap mutakhir.
-
Memungkinkan satu bucket OSS melayani beberapa lingkungan, seperti proyek development dan production.
-
Membantu Anda mengatur dan mengelola gambar dari berbagai sumber secara lebih baik sesuai kebutuhan bisnis.
-
Menyederhanakan manajemen proyek di lingkungan kompleks, termasuk proyek development dan User Acceptance Testing (UAT).
-
Mengoptimalkan penggunaan lebar pita jaringan dengan mengunggah gambar sekali untuk digunakan di beberapa aplikasi.
-
Memungkinkan Anda menstandarkan dan menskalakan alur kerja manajemen gambar.
Batasan
-
Ukuran gambar maksimal 4 MB.
-
Lebar dan tinggi gambar harus antara 101 hingga 4.096 piksel.
Prosedur
Langkah 1: Unduh ossimport
ossimport mendukung mode penyebaran standalone dan mode penyebaran terdistribusi.
-
Mode penyebaran standalone: Mode ini direkomendasikan jika Anda perlu memigrasikan data kurang dari 30 TB. Anda dapat men-deploy ossimport di mesin apa pun yang dapat mengakses data sumber dan OSS. Klik ossimport untuk mengunduh.
-
Mode penyebaran terdistribusi: Mode ini direkomendasikan jika Anda perlu memigrasikan data lebih dari 30 TB. Anda dapat men-deploy ossimport di beberapa mesin yang dapat mengakses data sumber dan OSS. Klik ossimport untuk mengunduh.
Untuk menghemat waktu saat memigrasikan volume data besar, deploy ossimport di instans ECS yang berada di wilayah yang sama dengan bucket OSS Anda. Anda kemudian dapat menggunakan Express Connect untuk menghubungkan server data sumber ke Virtual Private Cloud (VPC). Memigrasikan data dari beberapa instans ECS ke OSS melalui jaringan internal secara signifikan meningkatkan efisiensi.
Langkah 2: Aktifkan OSS
Untuk informasi selengkapnya, lihat Aktifkan OSS.
Langkah 3: Buat bucket
Untuk informasi selengkapnya, lihat Buat bucket di konsol.
Pastikan bucket OSS berada di wilayah yang sama dengan instans Image Search Anda.
Langkah 4: Buat file increment.meta
Buat file bernama increment.meta di path OSS tempat gambar Anda disimpan. File ini mendefinisikan detail tugas batch.
-
Gambar yang ditentukan dalam increment.meta harus berada di bucket yang sama dengan file tersebut.
-
Nama file increment.meta bersifat tetap. Jangan menggantinya.
-
Gambar dapat berada di path berbeda dalam bucket yang sama. Gunakan path relatif terhadap root bucket dalam
PicName— misalnya, jika bucket bernamaimagesearchdanincrement.metaberada di direktori root, gambar digirlCloth/harus ditentukan sebagai"PicName":"girlCloth/girl_cloth8.jpg". Jangan tambahkan garis miring (/) di awal atau akhir. -
Sertakan ekstensi file dalam nama gambar. Misalnya, gunakan
"PicName":"girl_cloth10.jpg", bukan"PicName":"girl_cloth10". -
Setiap baris dalam
increment.metaharus mendefinisikan satu operasi gambar.
Kode berikut memberikan contoh file increment.meta:
{"OperationType": "ADD","ProductId": "1000","PicName": "girl_cloth1.jpg","CategoryId": 0,"IntAttr": 0,"StrAttr": "value1","CustomContent": "k1:v1,k2:v2,k3:v3","Region": "20,40,60,80"}
{"OperationType": "ADD","ProductId": "1000","PicName": "girl_cloth2.jpg","CategoryId": 0,"IntAttr": 0,"StrAttr": "value2","CustomContent": "k1:v1,k2:v2,k3:v3","Region": "20,40,60,80"}
{"OperationType": "ADD","ProductId": "1001","PicName": "girl_cloth3.jpg","CategoryId": 1,"CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "ADD","ProductId": "1002","PicName": "girl_cloth4.jpg","CategoryId": 0,"CustomContent": "k1:v1,k2:v2,k3:v3","Crop": false}
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth7.jpg","CustomContent": "https://www.aliyun.com/imagesearch/girl_cloth7.jpg"}
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth6.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "ADD","ProductId": "1006","PicName": "girlCloth/girl_cloth10.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "DELETE","ProductId": "1004","PicName": "fengyi.jpg"}
{"OperationType": "DELETE","ProductId": "1005"}
Setiap operasi didefinisikan dalam format JSON. Tabel berikut menjelaskan field-field tersebut.
|
Parameter |
Tipe |
Wajib |
Deskripsi |
|
OperationType |
String |
Ya |
Jenis operasi.
|
|
ProductId |
String |
Ya |
Pengidentifikasi unik untuk gambar, panjang maksimal 256 karakter. |
|
PicName |
String |
Ya |
Nama gambar di bucket OSS, panjang maksimal 256 karakter. Penting
|
|
CategoryId |
Integer |
Tidak |
Kategori gambar. Kategori yang valid tercantum di Referensi kategori.
|
|
CustomContent |
String |
Ya |
Konten yang ditentukan pengguna, panjang maksimal 4.096 karakter. Catatan
Nilai ini disertakan dalam hasil pencarian. Anda dapat menggunakan field ini untuk menyimpan URL gambar atau informasi tambahan lainnya guna menghubungkan gambar dengan data bisnis Anda. |
|
IntAttr |
Integer |
Tidak |
Atribut integer untuk memfilter hasil pencarian. Catatan
Gunakan atribut integer dalam kondisi filter untuk memfilter hasil pencarian. Untuk informasi selengkapnya, lihat Kondisi filter. |
|
StrAttr |
String |
Tidak |
Atribut string, panjang maksimal 128 karakter. Digunakan untuk pemfilteran dalam kueri pencarian. Catatan
|
|
Crop |
Boolean |
Tidak |
Menentukan apakah akan melakukan identifikasi subjek. Default:
|
|
Region |
String |
Tidak |
Bidang subjek gambar dalam format Catatan
Jika parameter ini diatur, parameter |
Langkah 5: Berikan akses ke OSS
Operasi batch memerlukan akses Image Search ke sumber daya OSS Anda. Berikan otorisasi ini saat pertama kali menggunakan fitur ini. Lewati bagian ini jika sudah diberi otorisasi.
Langkah 6: Unggah gambar
-
Login ke Konsol Image Search.
-
Pilih jenis layanan dan instans target.
-
Klik tab Batch Operation.
-
Klik Create Batch Task.
Pada kotak dialog Create Batch Task, atur Bucket Name dan Path yang diperlukan, konfirmasi Meta File, opsional berikan URL Callback on Completion, lalu klik OK.
-
-
Region
Wilayah tempat instans berada.
-
Bucket Name
Nama bucket yang telah Anda buat di OSS.
PentingBucket OSS harus berada di wilayah yang sama dengan instans Image Search Anda.
-
Path
Path penyimpanan untuk gambar dan file increment.meta.
Misalnya, jika bucket imagesearch1 Anda di China (Shanghai) memiliki gambar dan
increment.metadi folder imagesearch/, masukkan path tersebut. -
Meta File
File yang mencantumkan gambar yang akan diproses. Sistem memeriksa apakah file bernama
increment.metatersedia. -
Callback on Completion
Masukkan URL callback. Hanya URL HTTP dan HTTPS yang didukung.
{ "finishTime": "2021-05-19 17:50:00", "instanceId": "imagesearch-cn-xxxx", "instanceName": "instanceName", "message": "success", "processResultUrl": "https://image-search-task-info.oss-cn-shanghai.aliyuncs.com/yyyyyyyyyy", "status": "NORMAL", "taskId": 111 }Field
Deskripsi
finishTime
Waktu penyelesaian tugas (presisi tingkat detik).
instanceName
Nama instans Image Search.
instanceId
ID instans Image Search.
status
Hasil tugas:
NORMAL(sukses) atauFAIL(gagal).taskId
ID tugas.
message
Deskripsi hasil.
successmenunjukkan operasi berhasil.processResultUrl
URL untuk mengunduh laporan error.
-
Verifikasi hasil
Setelah tugas selesai, Anda dapat melihat statusnya.
-
Di tab Batch Operation, daftar tugas menampilkan status setiap tugas. Jika tugas berhasil, pesannya adalah Success. Jika beberapa gambar gagal diproses, pesannya menunjukkan kegagalan parsial; klik Download Result untuk melihat detailnya. Untuk tugas yang gagal, klik View Incremental History untuk informasi lebih lanjut. Untuk menjalankan ulang tugas, klik Resubmit di kolom Actions. Untuk informasi lebih lanjut tentang kegagalan tugas, lihat Apa penyebab kegagalan pengiriman tugas inkremental?
-
Setelah mengunggah gambar, uji fungsionalitas pencarian. Buka tab Search by Image untuk instans Anda. Di panel kiri, atur jenis pencarian ke SearchByPic, unggah gambar pencarian, aktifkan object detection dan pilih Auto, atur Number of results dan Start position, lalu klik OK. Panel kanan menampilkan respons JSON mentah. Setiap catatan dalam array
auctionsyang dikembalikan mencakup field sepertiscore(skor kemiripan),picName(nama gambar), danproductId(ID produk). Skorscoreyang lebih tinggi menunjukkan kemiripan yang lebih besar dengan gambar pencarian.