建立及更新應用程式執行個體

建構部署應用程式後,您可以使用 Google Cloud 控制台或指令列建立及更新這些應用程式執行個體。

建立應用程式執行個體

REST

如要建立應用程式例項,請使用 projects.locations.applications.createApplicationInstances 方法傳送 POST 要求。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • APPLICATION_ID:目標應用程式的 ID。

HTTP 方法和網址:

POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:createApplicationInstances

JSON 要求主體:

{
  "applicationInstances": [
    {
      "instance": {
        "inputResources": [
          {
            "consumerNode": "input-stream",
            "inputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
          }
        ]
      },
      "instanceId": "INSTANCE_ID"
    },
    {
      "instance": {
         [...]
    },
    [...]
  ]
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$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

您應該會收到如下的 JSON 回應:

{
  "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
}

更新應用程式執行個體

建立應用程式並取得應用程式執行個體 ID 後,即可修改下列應用程式執行個體資源:

  • 輸入串流*:你可以變更輸入串流資產。
  • 輸出資料倉儲資產:如果您已連結至資料倉儲,且想將輸出內容寫入其他資料倉儲 (corpus) 資產,可以更新輸出資產。
  • 輸出串流*:如要將自動產生的串流更新為你建立的特定串流,可以覆寫輸出串流。

    * 輸入串流和輸出串流必須位於相同叢集,才能用於相同應用程式例項。

REST

如要更新應用程式例項,請使用 projects.locations.applications.updateApplicationInstances 方法傳送 POST 要求。

下列程式碼範例會更新輸入串流 (inputResources),以及與應用程式例項 (outputResources) 相關聯的所有輸出資源。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT:您的 Google Cloud 專案 ID 或專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • APPLICATION_ID:目標應用程式的 ID。
  • INSTANCE_NAME:應用程式例項的完整資源名稱。例如:
    • projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID/instances/INSTANCE_ID
  • inputResources:目前應用程式執行個體的輸入資源。這是物件陣列,包含下列欄位:
    • consumerNode:接收輸入資源的圖形節點名稱。
    • inputResource:完整的輸入資源名稱。
  • outputResources:與單一應用程式執行個體相關聯的所有輸出資源。 這是物件陣列,包含下列欄位:
    • outputResource:完整的輸出資源名稱。
    • producerNode:產生輸出資源名稱的圖形節點名稱。

HTTP 方法和網址:

POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances

JSON 要求主體:

{
  "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"
          }
        ]
      },
    }
  ],
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$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
 

管理大型應用程式

部署和取消部署方法適用於執行個體少於 20 個的應用程式。如果應用程式有超過 20 個執行個體,您必須使用 API 逐步建立及移除執行個體。建議的工作流程如下:

  1. 建立應用程式。
  2. 新增 1 到 20 個實驗性執行個體。
  3. 部署您的應用程式。
  4. 確認應用程式運作正常。
  5. 使用 createApplicationInstances 方法,逐步將更多輸入內容新增至已部署的應用程式。
  6. 允許應用程式執行。
  7. 使用 deleteApplicationInstances 方法,從已部署的應用程式逐步移除輸入內容。
  8. 取消部署應用程式。