Membuat dan mengupdate instance aplikasi

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:

  1. Buat aplikasi Anda.
  2. Tambahkan 1-20 instance eksperimental.
  3. Deploy aplikasi Anda.
  4. Pastikan aplikasi Anda berfungsi seperti yang diharapkan.
  5. Gunakan metode createApplicationInstances untuk menambahkan lebih banyak input secara bertahap ke aplikasi yang di-deploy.
  6. Izinkan aplikasi berjalan.
  7. Gunakan metode deleteApplicationInstances untuk menghapus input secara bertahap dari aplikasi yang di-deploy.
  8. Batalkan deployment aplikasi.