构建并部署应用后,您可以使用 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
方法可逐步从已部署的应用中移除输入。 - 取消部署应用。