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