Setelah membangun dan men-deploy aplikasi, Anda dapat membuat dan mengupdate instance aplikasi ini menggunakan konsol Google Cloud atau command line.
Membuat instance aplikasi
REST
Untuk membuat instance aplikasi, kirim permintaan POST menggunakan metode projects.locations.applications.createApplicationInstances.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_NUMBER: Nomor project Anda. Google Cloud
- LOCATION_ID: Region tempat Anda menggunakan
Vertex AI Vision. Misalnya:
us-central1
,europe-west4
. Lihat wilayah yang tersedia. - APPLICATION_ID: ID aplikasi target Anda.
Metode HTTP dan URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:createApplicationInstances
Isi JSON permintaan:
{ "applicationInstances": [ { "instance": { "inputResources": [ { "consumerNode": "input-stream", "inputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } ] }, "instanceId": "INSTANCE_ID" }, { "instance": { [...] }, [...] ] }
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:createApplicationInstances"
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:createApplicationInstances" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.OperationMetadata", "createTime": "[...]", "Target": "projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID" "Verb": "update" "apiVersion": "v1" }, "done": false }
Mengupdate instance aplikasi
Setelah membuat aplikasi dan mendapatkan ID instance aplikasi, Anda dapat mengubah resource instance aplikasi berikut:
- Stream input*: Anda dapat mengubah aset stream input.
- Aset warehouse output: Anda dapat memperbarui aset output jika Anda terhubung ke warehouse dan ingin menulis output ke aset warehouse lain (
corpus
). Aliran output*: Anda dapat mengganti aliran output jika ingin memperbarui aliran output dari aliran yang dibuat otomatis ke aliran tertentu yang Anda buat.
* Aliran input dan aliran output harus berada di cluster yang sama untuk instance aplikasi yang sama.
REST
Untuk memperbarui instance aplikasi, kirim permintaan POST menggunakan metode projects.locations.applications.updateApplicationInstances.
Contoh kode berikut memperbarui aliran input (inputResources
), dan
semua resource output yang terkait dengan instance aplikasi (outputResources
).
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT: Project ID atau nomor project Anda. Google Cloud
- LOCATION_ID: Region tempat Anda menggunakan
Vertex AI Vision. Misalnya:
us-central1
,europe-west4
. Lihat wilayah yang tersedia. - APPLICATION_ID: ID aplikasi target Anda.
- INSTANCE_NAME: Nama lengkap resource instance aplikasi. Contoh:
projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID/instances/INSTANCE_ID
inputResources
: Resource input (atau beberapa resource) untuk instance aplikasi saat ini. Ini adalah array objek yang berisi kolom berikut:consumerNode
: Nama node grafik yang menerima resource input.inputResource
: Nama lengkap resource input.
outputResources
: Semua resource output yang terkait dengan satu instance aplikasi. Ini adalah array objek yang berisi kolom berikut:outputResource
: Nama resource output lengkap.producerNode
: Nama node grafik yang menghasilkan nama resource output.
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": { "name": "INSTANCE_NAME", "inputResources": [ { "consumerNode": "input-stream", "inputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } ], "outputResources":[ { "outputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID", "producerNode": "warehouse" }, { "outputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID", "producerNode": "occupancy-count" } ] }, } ], }
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
Mengelola aplikasi skala besar
Metode deployment dan penghapusan deployment berlaku untuk aplikasi dengan kurang dari 20 instance. Jika aplikasi Anda memiliki lebih dari 20 instance, Anda harus membuat dan menghapus instance secara bertahap dengan API. Alur kerja yang direkomendasikan adalah sebagai berikut:
- Buat aplikasi Anda.
- Tambahkan 1-20 instance eksperimental.
- Deploy aplikasi Anda.
- Pastikan aplikasi Anda berfungsi seperti yang diharapkan.
- Gunakan metode
createApplicationInstances
untuk menambahkan lebih banyak input secara bertahap ke aplikasi yang di-deploy. - Izinkan aplikasi berjalan.
- Gunakan metode
deleteApplicationInstances
untuk menghapus input secara bertahap dari aplikasi yang di-deploy. - Batalkan deployment aplikasi.