Setelah membuat aliran penyerapan data dan menambahkan node pemrosesan ke aplikasi, Anda harus memilih tempat untuk mengirim data yang diproses. Salah satu opsi adalah menerima output aplikasi live stream secara langsung sehingga Anda dapat menindaklanjuti analisis real-time ini.
Secara umum, Anda mengonfigurasi aplikasi untuk menyimpan output model ke dalam
data warehouseGoogle Cloud seperti Media Warehouse Vertex AI Vision atau BigQuery.
Setelah data disimpan di salah satu
gudang ini, data tersebut dapat digunakan untuk tugas analisis offline berdasarkan
grafik aplikasi Anda. Namun, Anda juga dapat menerima output model
dengan cara live streaming. Anda dapat meminta Vertex AI Vision meneruskan output
model ke resource streaming, dan Anda dapat menggunakan alat command line
(vaictl
) atau Vertex AI Vision API untuk menggunakannya secara real-time.
Dengan asumsi Anda memiliki grafik aplikasi berikut yang memiliki tiga node berikut:
- Node sumber data "Aliran Input" (
input-stream
) - Node pemrosesan "Jumlah Penghunian" (
occupancy-count
) - Node tujuan output aplikasi "Media Warehouse" (
warehouse
)
Output aplikasi saat ini dikirim dari streaming ke proses penghitungan jumlah tamu, lalu keluar ke Media Warehouse Vertex AI Vision tempat output disimpan.
Konfigurasi aplikasi API:
![]() |
{ "applicationConfigs": { "nodes": [ { "displayName": "Input Stream", "name": "input-stream", "processor": "builtin:stream-input" }, { "displayName": "Occupancy Count", "name": "occupancy-count", "nodeConfig": { "occupancyCountConfig": { "enablePeopleCounting": true, "enableVehicleCounting": true } }, "parents": [ { "parentNode": "input-stream" } ], "processor": "builtin:occupancy-count" }, { "displayName": "Media Warehouse", "name": "warehouse", "nodeConfig": { "mediaWarehouseConfig": { "corpus": "projects/PROJECT_ID/locations/LOCATION_ID/corpora/CORPUS_ID", "ttl": "86400s" } }, "parents": [ { "parentNode": "input-stream" }, { "parentNode": "occupancy-count" } ], "processor": "builtin:media-warehouse" } ] } } |
Mengaktifkan output streaming (Konsol Google Cloud)
Anda dapat mengaktifkan output streaming di konsol Google Cloud saat pertama kali men-deploy model atau saat membatalkan deployment, lalu men-deploy ulang model.
Konsol
Buka tab Applications di dasbor Vertex AI Vision.
Pilih Lihat grafik di samping nama aplikasi Anda dari daftar.
Dari halaman builder grafik aplikasi, klik tombol Deploy.
Di menu opsi Deploy application yang terbuka, pilih
Enable output streaming.Dari menu dropdown Model yang sesuai, pilih
model yang ingin Anda aktifkan output streaming-nya.Klik Deploy
Mengaktifkan output streaming (API)
Memperbarui node aplikasi
Anda dapat mengupdate konfigurasi aplikasi di command line sehingga node model secara khusus mengirim output ke streaming.
Setelah menyelesaikan langkah ini, Anda memiliki opsi untuk memperbarui instance aplikasi guna menentukan resource streaming yang menerima data output node analisis.
REST
Contoh ini menggunakan metode projects.locations.applications.patch. Permintaan ini memperbarui konfigurasi aplikasi API dari aplikasi contoh sebelumnya agar node occupancy-count
mengirim anotasi output ke streaming Vertex AI Vision. Perilaku ini diaktifkan oleh
kolom output_all_output_channels_to_stream
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT: Project ID atau nomor project Google CloudAnda.
- LOCATION_ID: Region tempat Anda menggunakan
Vertex AI Vision. Misalnya:
us-central1
,europe-west4
. Lihat region yang tersedia. - APPLICATION_ID: ID aplikasi target Anda.
Metode HTTP dan URL:
PATCH https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID
Isi JSON permintaan:
{ "applicationConfigs": { "nodes": [ { "displayName": "Input Stream", "name": "input-stream", "processor": "builtin:stream-input" }, { "displayName": "Occupancy Count", "name": "occupancy-count", "nodeConfig": { "occupancyCountConfig": { "enablePeopleCounting": true, "enableVehicleCounting": true } }, "parents": [ { "parentNode": "input-stream" } ], "processor": "builtin:occupancy-count", "output_all_output_channels_to_stream": true } ] } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID" | Select-Object -Expand Content
200 OK
tanpa error, dan layanan akan memperbarui resource aplikasi
sesuai kebutuhan.
Mengupdate instance aplikasi
Contoh sebelumnya menunjukkan cara memperbarui aplikasi, yang memungkinkan node target mengirim output ke aliran data. Setelah mengaktifkan opsi ini, Anda dapat memperbarui instance aplikasi secara opsional untuk menentukan resource streaming yang menerima data output node analisis.
Jika Anda tidak menentukan streaming dengan perintah ini, platform aplikasi akan terus menggunakan streaming default yang dibuat saat node aplikasi di-deploy.
Anda harus membuat resource streaming tempat node mengirim output
sebelum Anda mengirimkan permintaan berikut.
REST
Contoh ini menggunakan metode projects.locations.applications.updateApplicationInstances. Permintaan ini menggunakan konfigurasi aplikasi API yang diperbarui dari aplikasi contoh
sebelumnya. Perintah update sebelumnya menetapkan node occupancy-count
agar
dapat mengirim anotasi output ke aliran Vertex AI Vision. Perintah ini
memperbarui instance aplikasi untuk mengirim data dari node occupancy-count
produsen tersebut ke resource streaming yang ada.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT: Project ID atau nomor project Google CloudAnda.
- LOCATION_ID: Region tempat Anda menggunakan
Vertex AI Vision. Misalnya:
us-central1
,europe-west4
. Lihat region yang tersedia. - APPLICATION_ID: ID aplikasi target Anda.
inputResources
: Resource input (atau resource) untuk instance aplikasi saat ini. Ini adalah array objek yang berisi kolom berikut:consumerNode
: Nama node grafik yang menerima resource input.inputResource
: Nama resource input lengkap.
outputResources.outputResource
: Resourcestream
untuk menghasilkan data aplikasi.outputResources.producerNode
: Nama node produsen output aplikasi. Dalam contoh ini, ini adalah node analisis,occupancy-count
.- INSTANCE_ID: ID instance aplikasi.
Metode HTTP dan URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances
Isi JSON permintaan:
{ "applicationInstances": [ { "instance": { "inputResources": [ { "consumerNode": "input-stream", "inputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/INPUT_STREAM_ID" } ], "outputResources":[ { "outputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/OUTPUT_STREAM_ID", "producerNode": "occupancy-count" } ] }, "instanceId": INSTANCE_ID } ] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances" | Select-Object -Expand Content
200 OK
tanpa error, dan layanan akan memperbarui instance aplikasi
sesuai kebutuhan.