建構及部署應用程式後,您可以使用 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方法,從已部署的應用程式逐步移除輸入內容。 - 取消部署應用程式。