Administra instancias de aplicaciones

Después de compilar y ejecutar apps, puedes administrar estas instancias de apps con la consola o la línea de comandos de Google Cloud .

Visualiza las instancias y el resultado de la app implementada

Puedes ver las instancias y el resultado de la app con la consola de Google Cloud o la línea de comandos. Luego, puedes usar esta información para leer flujos de salida del modelo y obtener recursos.

IU web

Visualiza las instancias y el resultado de una app en la consola de Google Cloud .

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

    Ir a la pestaña Aplicaciones

  2. Selecciona el nombre de la app que quieres ver. Esto te llevará 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 enumeran todas las instancias en ejecución de la aplicación. Cada flujo de entrada a la aplicación tiene su propia instancia. Cada instancia tiene sus propios recursos de entrada y salida que se indican debajo.

    Imagen de la página de detalles del recurso de la app

  3. Para inspeccionar los recursos de activos de transmisión o de almacén en la tabla de instancias, haz clic en el ID de entrada o salida, o selecciona la ruta de acceso.

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

      Para obtener información sobre cómo leer el flujo de salida de un modelo con la línea de comandos, consulta Crea y administra flujos.

      Imagen de detalle del recurso de transmisión

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

      Para obtener un recurso del almacén de Vision, consulta Administra recursos con la API de Vision Warehouse.

      Imagen de detalle del recurso del almacén

REST

Para enumerar las instancias de la app, envía una solicitud GET con el método projects.locations.applications.instances.list.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

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 siguiente comando:

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 siguiente comando:

$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 que se muestra a continuación:

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

Borra una instancia de la app

REST

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • 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: Es el ID de tu 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 que se muestra a continuación:

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

Administra apps a gran escala

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

  1. Crea tu app.
  2. Agrega de 1 a 20 instancias experimentales.
  3. Implementa tu aplicación.
  4. Verifica que tu app funcione como se espera.
  5. Usa el método createApplicationInstances para agregar de forma incremental más entradas a la aplicación implementada.
  6. Permite que se ejecute la app.
  7. Usa el método deleteApplicationInstances para quitar de forma incremental las entradas de las aplicaciones implementadas.
  8. Anula la implementación de la aplicación.