建構及部署應用程式後,您可以使用 Google Cloud 控制台或指令列建立及更新這些應用程式執行個體。
建立應用程式執行個體
REST
如要建立應用程式例項,請使用 projects.locations.applications.createApplicationInstances 方法傳送 POST 要求。
使用任何要求資料之前,請先替換以下項目:
- PROJECT_NUMBER:您的 Google Cloud專案編號。
- LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:
us-central1
、europe-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-central1
、europe-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 到 20 個實驗性執行個體。
- 部署您的應用程式。
- 確認應用程式運作正常。
- 使用
createApplicationInstances
方法,逐步將更多輸入內容新增至已部署的應用程式。 - 允許應用程式執行。
- 使用
deleteApplicationInstances
方法,從已部署的應用程式逐步移除輸入內容。 - 取消部署應用程式。