Faça a gestão de instâncias de aplicações

Depois de criar e implementar apps, pode gerir estas instâncias de apps através da Google Cloud consola ou da linha de comandos.

Veja as instâncias e a saída da app implementada

Pode ver instâncias de apps e resultados através da Google Cloud consola ou da linha de comandos. Em seguida, pode usar estas informações para ler streams de saída do modelo e obter recursos.

IU da Web

Veja as instâncias e a saída de uma app na Google Cloud consola.

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Selecione o nome da app que quer ver. Esta ação direciona para a página de detalhes da aplicação.

    A página de detalhes da aplicação apresenta uma tabela com os recursos da aplicação. Esta tabela apresenta todas as instâncias em execução da aplicação. Cada stream de entrada para a aplicação tem a sua própria instância. Cada instância tem os seus próprios recursos de entrada e saída listados abaixo.

    Imagem da página de detalhes do recurso da app

  3. Para inspecionar os recursos de recursos de stream ou de armazém na tabela de instâncias, clique no ID de entrada ou saída, ou selecione o caminho.

    • Se clicar no recurso stream, é redirecionado para a página de detalhes da stream, onde pode inspecionar as informações detalhadas dessa stream.

      Para saber como ler uma stream de saída de um modelo através da linha de comandos, consulte o artigo Criar e gerir streams.

      stream resource detail image

    • Se clicar no recurso recurso de armazém, acede à página de detalhes do recurso do Vision Warehouse.

      Para obter um recurso do Vision Warehouse, consulte o artigo Faça a gestão de recursos com a API Vision Warehouse.

      warehouse resource detail image

REST

Para listar instâncias de apps, envie um pedido GET através do método projects.locations.applications.instances.list.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

Método HTTP e URL:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Execute o seguinte 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

Execute o seguinte 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

Deve receber uma resposta JSON semelhante à seguinte:

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

Elimine uma instância da app

REST

Para eliminar instâncias de aplicações, envie um pedido POST através do método projects.locations.applications.deleteApplicationInstances.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • APPLICATION_ID: o ID da sua aplicação de destino.

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Deve receber uma resposta JSON semelhante à seguinte:

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

Faça a gestão de apps em grande escala

Os métodos deploy e undeploy são válidos para aplicações com menos de 20 instâncias. Se a sua app tiver mais de 20 instâncias, tem de criar e remover instâncias de forma incremental com a API. O fluxo de trabalho recomendado é o seguinte:

  1. Crie a sua app.
  2. Adicione 1 a 20 instâncias experimentais.
  3. Implemente a sua aplicação.
  4. Valide se a sua app funciona como esperado.
  5. Use o método createApplicationInstances para adicionar incrementalmente mais entradas à aplicação implementada.
  6. Permitir que a app seja executada.
  7. Use o método deleteApplicationInstances para remover gradualmente entradas de aplicações implementadas.
  8. Anule a implementação da aplicação.