管理应用实例

构建部署应用后,您可以使用 Google Cloud 控制台或命令行管理这些应用实例。

查看已部署的应用实例和输出

您可以使用 Google Cloud 控制台或命令行查看应用实例和输出。然后,您可以使用此信息来读取模型输出流获取资源

网页界面

在 Google Cloud 控制台中查看应用的实例和输出。

  1. 打开 Vertex AI Vision 信息中心的应用标签页。

    前往“应用”标签页

  2. 选择要查看的应用的名称。系统随即会转到应用详情页面。

    应用详情页面会显示一个包含应用资源的表格。 此表格列出了应用的所有正在运行的实例。应用中的每个输入流都有自己的实例。每个实例都有自己的输入和输出资源,这些资源列在该实例下方。

    应用资源详情页面图片

  3. 如需检查实例表中的流或数据仓库资源,请点击输入或输出 ID,或选择相应路径。

    • 如果您点击直播资源,系统会将您重定向到直播详情页面,您可以在其中查看相应直播的详细信息。

      如需了解如何使用命令行读取模型的输出流,请参阅创建和管理流

      视频流资源详情图片

    • 点击仓库资源资源会转到 Vision Warehouse 资源详情页面。

      如需获取 Vision Warehouse 资源,请参阅使用 Vision Warehouse API 管理资源

      仓库资源详情图片

REST

如需列出应用实例,请使用 projects.locations.applications.instances.list 方法发送 GET 请求。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT:您的 Google Cloud 项目 ID 或项目编号
  • LOCATION_ID:您使用 Vertex AI Vision 的区域。例如:us-central1europe-west4。请参阅可用区域
  • APPLICATION_ID:目标应用的 ID。

HTTP 方法和网址:

GET https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances

如需发送请求,请选择以下方式之一:

curl

执行以下命令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances"

PowerShell

执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

{
  "instances": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances/INSTANCE_ID",
      "createTime": "2022-03-01T20:05:45.863836157Z",
      "inputResources": [
        {
          "inputResource": "input-stream",
          "consumerNode": "builtin-input-stream"
        }
      ],
      "outputResources": [
        {
          "outputResource": "sample-resource-1",
          "producerNode": "builtin-occupancy-count",
          "isTemporary": true
        },
        {
          "outputResource": "sample-resource-2",
          "producerNode": "builtin-input-stream"
        },
        {
          "outputResource": "sample-resource-3",
          "producerNode": "builtin-input-stream",
          "isTemporary": true
        },
        {
          "outputResource": "sample-resource-4",
          "producerNode": "builtin-input-stream",
          "isTemporary": true
        }
      ]
    }
  ]
}

删除应用实例

REST

如需删除应用实例,请使用 projects.locations.applications.deleteApplicationInstances 方法发送 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:deleteApplicationInstances

请求 JSON 正文:

{
  "instanceIds": [
    "INSTANCE_ID1",
    "INSTANCE_ID2",
    [...]
  ]
}

如需发送请求,请选择以下方式之一:

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:deleteApplicationInstances"

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:deleteApplicationInstances" | 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
}

管理大规模应用

部署和取消部署方法适用于实例数少于 20 的应用。如果您的应用有 20 个以上的实例,您必须使用该 API 逐步创建和移除实例。建议的工作流程如下:

  1. 创建应用。
  2. 添加 1-20 个实验实例。
  3. 部署该应用。
  4. 验证应用是否按预期运行。
  5. 使用 createApplicationInstances 方法可逐步向已部署的应用添加更多输入。
  6. 允许应用运行。
  7. 使用 deleteApplicationInstances 方法可逐步从已部署的应用中移除输入。
  8. 取消部署应用。