Gerenciar endpoints de índice

O endpoint de índice do Vision Warehouse é um ambiente gerenciado que disponibiliza índices do Vision Warehouse. Os endpoints de índice oferecem um único ponto de acesso para o envio de solicitações de pesquisa. Para pesquisar no corpus do Vision Warehouse, primeiro crie um recurso indexEndpoint e implante seu índice nele.

Criar um endpoint de índice

REST

Para criar um endpoint de índice, envie uma solicitação POST usando o método projects.locations.indexEndpoints.create.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • INDEX_ENDPOINT_ID: (opcional) um valor fornecido pelo usuário para o ID do endpoint do índice. Nesta solicitação, o valor é adicionado ao URL da solicitação no formato:
    • https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints

Corpo JSON da solicitação:

{
  "display_name": "DISPLAY_NAME",
  "description": "DESCRIPTION",
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata"
  }
}

Atualizar um endpoint de índice

A API UpdateIndexEndpoint permite atualizar os campos de metadados do endpoint do índice, como display_name e description. Não é permitido atualizar o campo labels de um endpoint de índice.

O campo update_mask na solicitação, também conhecido como máscara de campo, é usado para especificar os campos a serem substituídos no recurso indexEndpoint pela atualização. Os campos especificados no campo update_mask são relativos ao recurso, não à solicitação completa. Um campo do recurso será substituído se estiver na máscara. Não é permitido usar uma máscara de campo vazia. Se a máscara for "*", ela vai acionar uma atualização completa do endpoint do índice.

REST

Para atualizar um endpoint de índice, envie uma solicitação PATCH usando o método projects.locations.indexEndpoints.patch.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • INDEX_ENDPOINT_ID: o ID do endpoint do índice de destino.
  • ?update_mask=fieldToUpdate: lista dos campos disponíveis que você quer atualizar. Especifique os valores correspondentes para os novos campos no corpo da solicitação. Esse novo valor substitui o valor do campo atual. É possível especificar vários campos como valores separados por vírgula. Campos disponíveis:
    • Nome de exibição: ?update_mask=display_name
    • Descrição: ?update_mask=description
    • Atualizar todos os campos: ?update_mask=*

Método HTTP e URL:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID?update_mask=display_name

Corpo JSON da solicitação:

{
  "display_name": "DISPLAY_NAME"
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID?update_mask=display_name"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID?update_mask=display_name" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.UpdateIndexEndpointMetadata"
  }
}

Listar endpoints de índice

REST

Para listar os endpoints de índice em um projeto do Vision Warehouse, envie uma solicitação GET usando o método projects.locations.indexEndpoints.list.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

Método HTTP e URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

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

PowerShell

execute o seguinte comando:

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

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

Você receberá uma resposta JSON semelhante a esta:

{
  "indexEndpoints": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID_1",
      "displayName": "DISPLAY_NAME_1",
      "description": "DESCRIPTION_1",
      "state": "CREATED"
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID_2",
      "displayName": "DISPLAY_NAME_2",
      "description": "DESCRIPTION_2",
      "state": "CREATED"
    }
  ]
}

Receber um endpoint de índice

REST

Para receber detalhes sobre um endpoint de índice, envie uma solicitação GET usando o método projects.locations.indexEndpoints.get.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • INDEX_ENDPOINT_ID: o ID do endpoint do índice de destino.

Método HTTP e URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

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

PowerShell

execute o seguinte comando:

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

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

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID",
  "displayName": "DISPLAY_NAME",
  "description": "DESCRIPTION",
  "state": "CREATED"
}

Implantar índice

REST

Para implantar um índice em um endpoint de índice, envie uma solicitação POST usando o método projects.locations.indexEndpoints.deployIndex.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • INDEX_ENDPOINT_ID: o ID do endpoint do índice de destino.
  • CORPUS_ID: o ID do corpus de destino.
  • INDEX_ID: o ID do índice de destino.

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex

Corpo JSON da solicitação:

{
  "deployedIndex": {
    "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
  }
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata",
    "deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
  }
}

Cancelar a implantação do índice

REST

Para remover a implantação de um índice de um endpoint de índice, envie uma solicitação POST usando o método projects.locations.indexEndpoints.undeployIndex.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • INDEX_ENDPOINT_ID: o ID do endpoint do índice de destino.

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex"

PowerShell

execute o seguinte comando:

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

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.UndeployIndexMetadata"
  }
}

Excluir um endpoint de índice

Um endpoint de índice só pode ser excluído se não houver um index implantado nele. Cancele a implantação do índice antes de excluir um endpoint com um índice implantado nele.

REST

Para excluir um recurso de índice, envie uma solicitação DELETE usando o método projects.locations.indexEndpoints.delete.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • INDEX_ENDPOINT_ID: o ID do endpoint do índice de destino.

Método HTTP e URL:

DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID"

PowerShell

execute o seguinte comando:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID"
}