Gestionar instancias de aplicaciones

Una vez que hayas compilado e implementado las aplicaciones, podrás gestionar estas instancias de aplicación mediante la consola Google Cloud o la línea de comandos.

Ver las instancias y la salida de una aplicación implementada

Puedes ver las instancias y la salida de la aplicación mediante la Google Cloud consola o la línea de comandos. Después, puedes usar esta información para leer los flujos de salida del modelo y obtener recursos.

UI web

Consulta las instancias y la salida de una aplicación en la Google Cloud consola.

  1. Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.

    Ve a la pestaña Aplicaciones.

  2. Selecciona el nombre de la aplicación que quieras ver. De esta forma, accederás a la página de detalles de la aplicación.

    En la página de detalles de la aplicación se muestra una tabla con los recursos de la aplicación. En esta tabla se muestran todas las instancias en ejecución de la aplicación. Cada flujo de entrada de la aplicación tiene su propia instancia. Cada instancia tiene sus propios recursos de entrada y salida, que se muestran debajo.

    Imagen de la página de detalles de recursos de la aplicación

  3. Para inspeccionar los recursos de los activos de la secuencia o del almacén en la tabla de instancias, haga clic en el ID de entrada o de salida, o seleccione la ruta.

    • Si haces clic en el recurso stream, se te redirigirá a la página de detalles del flujo, donde podrás consultar la información detallada de ese flujo.

      Para saber cómo leer el flujo de salida de un modelo con la línea de comandos, consulta Crear y gestionar flujos.

      Imagen de detalles de recursos de streaming

    • Si haces clic en el recurso recurso de almacén, se te dirigirá a la página de detalles del recurso de almacén de Vision.

      Para obtener un recurso de Vision Warehouse, consulta Gestionar recursos con la API Vision Warehouse.

      warehouse resource detail image

REST

Para enumerar las instancias de una aplicación, envía una solicitud GET mediante el método projects.locations.applications.instances.list.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

Método HTTP y URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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

Ejecuta el comando siguiente:

$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

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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
        }
      ]
    }
  ]
}

Eliminar una instancia de aplicación

REST

Para eliminar instancias de la aplicación, envía una solicitud POST mediante el método projects.locations.applications.deleteApplicationInstances.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_NUMBER: tu Google Cloud número de proyecto.
  • LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo: us-central1, europe-west4. Consulta las regiones disponibles.
  • APPLICATION_ID: ID de la aplicación de destino.

Método HTTP y URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:deleteApplicationInstances

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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
}

Gestionar aplicaciones a gran escala

Los métodos deploy y undeploy son válidos para aplicaciones con menos de 20 instancias. Si tu aplicación tiene más de 20 instancias, debes crear y eliminar instancias de forma incremental con la API. El flujo de trabajo recomendado es el siguiente:

  1. Crea tu aplicación.
  2. Añade entre 1 y 20 instancias experimentales.
  3. Despliega tu aplicación.
  4. Verifica que tu aplicación funciona correctamente.
  5. Usa el método createApplicationInstances para añadir más entradas de forma incremental a la aplicación implementada.
  6. Permite que la aplicación se ejecute.
  7. Usa el método deleteApplicationInstances para quitar entradas de forma incremental de las aplicaciones implementadas.
  8. Retira la aplicación.