Alih-alih melakukan polling untuk memperoleh hasil tugas, Anda dapat mengonfigurasi URL callback HTTP atau RocketMQ untuk menerima notifikasi penyelesaian tugas dari EventBridge. Setelah menerima notifikasi tersebut, lakukan kueri terhadap API hasil satu kali guna mendapatkan output tugas.
Latar Belakang
Alibaba Cloud Model Studio terintegrasi dengan EventBridge untuk mengirimkan event penyelesaian tugas ke target event yang telah Anda konfigurasikan.
Ketika tugas asinkron selesai (berhasil atau gagal), sebuah event penyelesaian tugas yang berisi status dan ID tugas dilaporkan ke EventBridge, yang kemudian meneruskannya ke target Anda. Untuk informasi lebih lanjut mengenai jenis target event lainnya, lihat Target event dan Jenis layanan target.
Polling vs. notifikasi berbasis event
Dimensi perbandingan | Polling | Berbasis event |
|---|---|---|
Pembatasan laju | API hasil memiliki pembatasan laju (20 QPS) | Tidak ada pembatasan laju |
Kompleksitas integrasi | Sederhana—lakukan polling terhadap API hasil. Beberapa tugas (seperti teks-ke-gambar dan teks-ke-video) menyediakan SDK dengan polling bawaan. | Konfigurasikan callback HTTP atau RocketMQ di EventBridge dan urai notifikasi tersebut. |
Konsumsi sumber daya server | Mengonsumsi sumber daya server karena kueri yang sering. | Tidak ada konsumsi sumber daya—EventBridge mendorong ke Anda. |
Latensi | Tergantung pada interval polling. | Hampir real-time—didorong segera setelah selesai. |
Rekomendasi | Skenario dengan konkurensi rendah atau yang toleran terhadap latensi. | Skema dengan konkurensi tinggi atau sensitif terhadap latensi. |
- URL callback HTTP: Titik akhir yang dapat diakses publik atau titik akhir VPC yang menerima permintaan POST. Cocok untuk sebagian besar skenario.
- RocketMQ: Konsumsi event melalui Message Queue for RocketMQ. Ideal untuk skenario yang membutuhkan keandalan tinggi.
Opsi 1: Konfigurasikan URL callback HTTP
Ikhtisar
Setelah Alibaba Cloud Model Studio menyelesaikan tugas, sistem tersebut melaporkan event penyelesaian tugas ke EventBridge. EventBridge kemudian mendorong event ini ke titik akhir callback Anda. Titik akhir callback Anda mengurai event tersebut untuk mengekstraksi ID tugas yang berhasil diproses dan memanggil API kueri hasil satu kali guna mengambil output tugas.
Manfaat: Dibandingkan dengan polling langsung, pendekatan ini menghindari permintaan polling yang tidak perlu, mengurangi konsumsi sumber daya, serta menurunkan tekanan pada batas laju API kueri hasil.
Penagihan: Penagihan EventBridge.
Sebagai contoh, alur pemanggilan asinkron menggunakan URL callback HTTP untuk teks-ke-gambar adalah sebagai berikut:
| ![]() |
Prosedur
Langkah 1: Siapkan titik akhir callback HTTP
Langkah 1: Siapkan titik akhir callback HTTP
- URL permintaan: URL HTTP yang dapat diakses melalui jaringan publik atau Alibaba Cloud VPC.
- Metode permintaan:
POST. - Body permintaan: format
JSONyang berisi data event penyelesaian tugas asinkron. Anda dapat melihat struktur event yang tepat di Konsol EventBridge. Contoh:
Klik untuk melihat struktur data event penyelesaian tugas asinkron
Klik untuk melihat struktur data event penyelesaian tugas asinkron
Langkah 2: Kueri event di Konsol EventBridge
Langkah 2: Kueri event di Konsol EventBridge
-
Login ke akun Alibaba Cloud Anda dan buka Konsol EventBridge. Alihkan ke wilayah Singapore region. Di panel navigasi sebelah kiri, pilih Event buses dan klik default untuk masuk ke event bus default untuk layanan cloud.
Alibaba Cloud Model Studio secara default menggunakan event bus default.
-
Klik Event tracking dan masukkan kondisi kueri untuk menemukan event penyelesaian tugas asinkron dari Alibaba Cloud Model Studio.
- Sumber event: Cari dan pilih
acs.dashscope, yang menunjukkan bahwa event berasal dari DashScope (layanan model dasar Alibaba Cloud Model Studio). - Jenis event: Cari dan pilih
dashscope:System:AsyncTaskFinish, yang menunjukkan event penyelesaian tugas asinkron.
- Sumber event: Cari dan pilih
- Klik Details untuk melihat detail lengkap event yang dilaporkan.
Klik untuk melihat deskripsi parameter
Klik untuk melihat deskripsi parameter
Parameter | Tipe | Deskripsi | Nilai contoh |
|---|---|---|---|
datacontenttype | String | Format data dari field data. Hanya |
|
aliyunaccountid | String | ID akun Alibaba Cloud. | 123456789098**** |
aliyunpublishtime | String | Waktu ketika event diterima. | 2020-11-19T21:04:42.179PRC |
data | Object | Konten event. Objek JSON yang strukturnya ditentukan oleh layanan asal. CloudEvents dapat mencakup informasi kontekstual yang disediakan oleh produsen event pada saat kejadian, yang dikemas dalam data. | |
data[].start_time | String | Waktu mulai tugas asinkron. Format: yyyy-MM-dd HH:mm:ss | 2023-10-25 09:45:09 |
data[].end_time | String | Waktu penyelesaian tugas asinkron. Format: yyyy-MM-dd HH:mm:ss | 2023-10-25 09:45:16 |
data[].user_api_unique_key | String | Kunci API unik (lima elemen API model yang digunakan saat mengirimkan tugas). Format:
|
|
data[].task_status | String | Status tugas
| SUCCEEDED |
data[].task_id | String | ID tugas | a154c328-xxxx-xxxx-xxxx-e52a9a7e9a35 |
data[].region | String | Wilayah tempat tugas dijalankan | ap-southeast-1 |
data[].request_id | String | ID permintaan | 108f38f5-xxxx-xxxx-xxxx-6504db9080b3 |
data[].api_key_id | String | ID kunci API | 1234 |
data[].contain_result | Boolean | Apakah event berisi detail hasil.
| true |
data[].output_result | JSON | Detail hasil. Dikembalikan ketika |
|
aliyunoriginalaccountid | String | ID akun Alibaba Cloud asli | 123456789098**** |
specversion | String | Versi protokol CloudEvents | 1.0 |
aliyuneventbusname | String | Nama event bus yang menerima event | default |
id | String | ID event—nilai unik yang mengidentifikasi event tersebut. | 45ef4dewdwe1-7c35-447a-bd93-fab**** |
source | String | Sumber event. Layanan yang menyediakan event, mengidentifikasi apa yang terjadi. Biasanya mencakup jenis sumber event, mekanisme penerbitan, atau proses produksi. Pengirim harus memastikan bahwa kombinasi | acs.dashscope |
time | String | Waktu ketika event dihasilkan. Jika waktu pasti event tidak diketahui, produsen CloudEvents dapat mengatur time ke nilai lain (misalnya, waktu saat ini), tetapi semua produsen untuk sumber yang sama harus menggunakan nilai yang konsisten. | 2020-11-19T21:04:41+08:00 |
aliyunregionid | String | Wilayah yang menerima event. | ap-southeast-1 |
type | String | Jenis event. Menjelaskan jenis event yang terkait dengan sumber. Digunakan untuk routing, kueri event, dan penerapan kebijakan. Formatnya ditentukan oleh produsen dan mencakup informasi versi. | dashscope:System:AsyncTaskFinish |
Langkah 3: Konfigurasikan aturan pengalihan event
Langkah 3: Konfigurasikan aturan pengalihan event
- Di panel navigasi sebelah kiri, pilih Event rules dan klik Create rule.
- Configure basic information: Masukkan nama dan deskripsi aturan sesuai kebutuhan.
-
Configure event pattern: Tentukan event mana yang akan dialihkan.
-
Event source: Cari dan pilih
acs.dashscope, yang menunjukkan bahwa event berasal dari Alibaba Cloud Model Studio. -
Event type: Cari dan pilih
dashscope:System:AsyncTaskFinish, yang menunjukkan event penyelesaian tugas asinkron. -
Pattern content: Konfigurasikan kondisi filter untuk mencocokkan event tertentu. Gunakan field dari detail event yang dikueri di Langkah 2. Untuk sintaks pola, lihat Pola event. Contoh:
- Default: Setelah memilih sumber dan jenis event, pola secara default menjadi seperti berikut, yang mengalihkan semua event
dashscope:System:AsyncTaskFinish.
- Default: Setelah memilih sumber dan jenis event, pola secara default menjadi seperti berikut, yang mengalihkan semua event
-
Event source: Cari dan pilih
- Filter berdasarkan field: Alihkan hanya event di mana field
user_api_unique_keydiakhiri dengan:paraformer-8k-v1—artinya hanya event untuk modelparaformer-8k-v1. Jenis event adalahdashscope:System:AsyncTaskFinish.
- Configure event targets: Mendukung beberapa jenis target event, termasuk URL callback HTTP dan antrian pesan RocketMQ. Lihat Langkah 4 untuk detailnya.
Langkah 4: Atur target event ke titik akhir callback HTTP
Langkah 4: Atur target event ke titik akhir callback HTTP
-
Configure event target: Alihkan event ke URL callback HTTP.
- Jenis layanan: Pilih “HTTP”.
- URL: Masukkan titik akhir layanan HTTP.
- Body: Pilih “Complete event”.
-
Jenis jaringan: Pilih berdasarkan titik akhir layanan Anda.
- HTTP mendukung jaringan publik maupun pribadi. Jika Anda memilih jaringan pribadi, konfigurasikan VPC, vSwitch, dan SecurityGroup.
- Klik Confirm untuk menyimpan aturan. Jika target event menampilkan gaya HTTP, konfigurasi berhasil. Kolom Event target aturan tersebut sekarang menampilkan HTTP (1).
Opsi 2: Konfigurasikan RocketMQ
Ikhtisar
Setelah Alibaba Cloud Model Studio menyelesaikan tugas, sistem tersebut melaporkan event penyelesaian tugas ke EventBridge. EventBridge meneruskan event tersebut ke Message Queue for RocketMQ. Aplikasi Anda mendengarkan antrian pesan, mengonsumsi pesan, mengekstraksi ID tugas yang telah selesai, dan memanggil API kueri hasil satu kali guna mengambil output tugas.
Manfaat: Berbeda dengan pendekatan callback HTTP, RocketMQ menjamin pengiriman pesan dan mendukung pengulangan saat terjadi kegagalan—ideal untuk skenario yang memerlukan keandalan pesan tinggi.
Penagihan: Penagihan EventBridge, Penagihan RocketMQ.
Sebagai contoh, alur pemanggilan asinkron menggunakan RocketMQ untuk teks-ke-gambar adalah sebagai berikut:
| ![]() |
Prosedur
Langkah 1: Siapkan instans RocketMQ (lewati jika Anda sudah memiliki antrian RocketMQ)
Langkah 1: Siapkan instans RocketMQ (lewati jika Anda sudah memiliki antrian RocketMQ)
-
Buka Konsol RocketMQ. Di panel navigasi sebelah kiri, pilih Instances, lalu klik Create Instance.
Contoh ID instans:
rmq-cn-nwy*******. -
Buat
Topicuntuk instans tersebut dan masukkan nama topik sesuai kebutuhan. -
Buat
Groupuntuk instans tersebut dan masukkan nama kelompok sesuai kebutuhan.
Langkah 2: Kueri event di Konsol EventBridge
Langkah 2: Kueri event di Konsol EventBridge
-
Login ke akun Alibaba Cloud Anda dan buka Konsol EventBridge. Alihkan ke wilayah Singapore region. Di panel navigasi sebelah kiri, pilih Event buses dan klik default untuk masuk ke event bus default untuk layanan cloud.
Alibaba Cloud Model Studio secara default menggunakan event bus default.
-
Klik Event tracking dan masukkan kondisi kueri untuk menemukan event penyelesaian tugas asinkron dari Alibaba Cloud Model Studio.
- Sumber event: Cari dan pilih
acs.dashscope, yang menunjukkan bahwa event berasal dari DashScope (layanan model dasar Alibaba Cloud Model Studio). - Jenis event: Cari dan pilih
dashscope:System:AsyncTaskFinish, yang menunjukkan event penyelesaian tugas asinkron.
- Sumber event: Cari dan pilih
- Klik Details untuk melihat detail lengkap event yang dilaporkan.
Klik untuk melihat deskripsi parameter
Klik untuk melihat deskripsi parameter
Parameter | Tipe | Deskripsi | Nilai contoh |
|---|---|---|---|
datacontenttype | String | Format data dari field data. Hanya |
|
aliyunaccountid | String | ID akun Alibaba Cloud. | 123456789098**** |
aliyunpublishtime | String | Waktu ketika event diterima. | 2020-11-19T21:04:42.179PRC |
data | Object | Konten event. Objek JSON yang strukturnya ditentukan oleh layanan asal. CloudEvents dapat mencakup informasi kontekstual yang disediakan oleh produsen event pada saat kejadian, yang dikemas dalam data. | |
data[].start_time | String | Waktu mulai tugas asinkron. Format: yyyy-MM-dd HH:mm:ss | 2023-10-25 09:45:09 |
data[].end_time | String | Waktu penyelesaian tugas asinkron. Format: yyyy-MM-dd HH:mm:ss | 2023-10-25 09:45:16 |
data[].user_api_unique_key | String | Kunci API unik (lima elemen API model yang digunakan saat mengirimkan tugas). Format:
|
|
data[].task_status | String | Status tugas
| SUCCEEDED |
data[].task_id | String | ID tugas | a154c328-xxxx-xxxx-xxxx-e52a9a7e9a35 |
data[].region | String | Wilayah tempat tugas dijalankan | ap-southeast-1 |
data[].request_id | String | ID permintaan | 108f38f5-xxxx-xxxx-xxxx-6504db9080b3 |
data[].api_key_id | String | ID kunci API | 1234 |
data[].contain_result | Boolean | Apakah event berisi detail hasil.
| true |
data[].output_result | JSON | Detail hasil. Dikembalikan ketika |
|
aliyunoriginalaccountid | String | ID akun Alibaba Cloud asli | 123456789098**** |
specversion | String | Versi protokol CloudEvents | 1.0 |
aliyuneventbusname | String | Nama event bus yang menerima event | default |
id | String | ID event—nilai unik yang mengidentifikasi event tersebut. | 45ef4dewdwe1-7c35-447a-bd93-fab**** |
source | String | Sumber event. Layanan yang menyediakan event, mengidentifikasi apa yang terjadi. Biasanya mencakup jenis sumber event, mekanisme penerbitan, atau proses produksi. Pengirim harus memastikan bahwa kombinasi | acs.dashscope |
time | String | Waktu ketika event dihasilkan. Jika waktu pasti event tidak diketahui, produsen CloudEvents dapat mengatur time ke nilai lain (misalnya, waktu saat ini), tetapi semua produsen untuk sumber yang sama harus menggunakan nilai yang konsisten. | 2020-11-19T21:04:41+08:00 |
aliyunregionid | String | Wilayah yang menerima event. | ap-southeast-1 |
type | String | Jenis event. Menjelaskan jenis event yang terkait dengan sumber. Digunakan untuk routing, kueri event, dan penerapan kebijakan. Formatnya ditentukan oleh produsen dan mencakup informasi versi. | dashscope:System:AsyncTaskFinish |
Langkah 3: Konfigurasikan aturan pengalihan event
Langkah 3: Konfigurasikan aturan pengalihan event
- Di panel navigasi sebelah kiri, pilih Event rules dan klik Create rule.
- Configure basic information: Masukkan nama dan deskripsi aturan sesuai kebutuhan.
-
Configure event pattern: Tentukan event mana yang akan dialihkan.
-
Event source: Cari dan pilih
acs.dashscope, yang menunjukkan bahwa event berasal dari Alibaba Cloud Model Studio. -
Event type: Cari dan pilih
dashscope:System:AsyncTaskFinish, yang menunjukkan event penyelesaian tugas asinkron. -
Pattern content: Konfigurasikan kondisi filter untuk mencocokkan event tertentu. Gunakan field dari detail event yang dikueri di Langkah 2. Untuk sintaks pola, lihat Pola event. Contoh:
- Default: Setelah memilih sumber dan jenis event, pola secara default menjadi seperti berikut, yang mengalihkan semua event
dashscope:System:AsyncTaskFinish.
- Default: Setelah memilih sumber dan jenis event, pola secara default menjadi seperti berikut, yang mengalihkan semua event
-
Event source: Cari dan pilih
- Filter berdasarkan field: Alihkan hanya event di mana field
user_api_unique_keydiakhiri dengan:paraformer-8k-v1—artinya hanya event untuk modelparaformer-8k-v1. Jenis event adalahdashscope:System:AsyncTaskFinish.
- Configure event targets: Mendukung beberapa jenis target event, termasuk URL callback HTTP dan antrian pesan RocketMQ. Lihat Langkah 4 untuk detailnya.
Langkah 4: Atur target event ke RocketMQ
Langkah 4: Atur target event ke RocketMQ
Langkah 5: Lihat pesan di Konsol RocketMQ
Langkah 5: Lihat pesan di Konsol RocketMQ
- Untuk melihat pesan secara online di RocketMQ, aktifkan fitur pengalaman kirim/terima satu-klik.
- Fitur ini menggunakan Function Compute. Jika Anda melebihi kuota percobaan gratis, biaya minimal akan dikenakan. Lihat Aturan penagihan Function Compute.
Langkah 6: Gunakan SDK untuk menerima dan mengonsumsi pesan
Langkah 6: Gunakan SDK untuk menerima dan mengonsumsi pesan
- Dalam proyek Maven, tambahkan dependensi berikut:
- Contoh kode untuk mengonsumsi pesan MQ:
FAQ
Bisakah satu aturan event memiliki beberapa target event?
Ya. Satu aturan event dapat memiliki beberapa target event. Jika dikonfigurasi, event yang sama akan dikirimkan ke setiap target.
Saya telah mengonfigurasi aturan event tetapi tidak menerima event. Mengapa?
Pastikan wilayah aturan pengalihan event sesuai dengan wilayah event tersebut. Sebagai contoh, aturan yang dikonfigurasi di wilayah Singapura hanya mengalihkan event Singapura—bukan wilayah lainnya. Periksa wilayah EventBridge di pemilih wilayah di bagian atas halaman konsol.
Permintaan layanan HTTP/HTTPS timeout atau mengembalikan error?
Ikuti langkah-langkah berikut untuk pemecahan masalah:
- Periksa status layanan HTTP/HTTPS.
- Verifikasi URL yang dikonfigurasi di target event.
-
Periksa jenis jaringan yang dikonfigurasi untuk target event:
- PublicNetwork: Jaringan publik—pastikan URL dapat diakses publik.
-
PrivateNetwork: Jaringan VPC—jika dipilih, verifikasi konfigurasi VPC, vSwitch, dan SecurityGroup.
- Periksa pengaturan VPC dan vSwitch.
- Periksa pengaturan grup keamanan jaringan.
- Untuk pengaturan parameter lainnya, lihat Parameter target event.

