Gestionar endpoints de índice

El endpoint del índice de Vision Warehouse es un entorno gestionado que sirve índices de Vision Warehouse. Los endpoints de índice proporcionan un único punto de acceso para enviar solicitudes de búsqueda. Para buscar en tu corpus de Vision Warehouse, primero debes crear un recurso indexEndpoint y desplegar tu índice en él.

Crear un endpoint de índice

REST

Para crear un endpoint de índice, envía una solicitud POST mediante el método projects.locations.indexEndpoints.create.

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

  • REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con LOCATION_ID, como europe-west4-. Consulta más información sobre los puntos finales regionalizados.
  • 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.
  • INDEX_ENDPOINT_ID: (opcional) valor proporcionado por el usuario para el ID del endpoint del índice. En esta solicitud, el valor se añade a la URL de la solicitud con el siguiente formato:
    • https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

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

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

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

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

Actualizar un endpoint de índice

La API UpdateIndexEndpoint permite actualizar los campos de metadatos del endpoint del índice, como display_name y description. No se puede actualizar el campo labels de un endpoint de índice.

El campo update_mask de la solicitud, también conocido como máscara de campo, se usa para especificar los campos que se van a sobrescribir en el recurso indexEndpoint mediante la actualización. Los campos especificados en el campo update_mask son relativos al recurso, no a la solicitud completa. Si un campo del recurso está en la máscara, se sobrescribirá. No se permite una máscara de campo vacía. Si la máscara es "*", se activará una actualización completa del endpoint de índice.

REST

Para actualizar un endpoint de índice, envía una solicitud PATCH mediante el método projects.locations.indexEndpoints.patch.

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

  • REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con LOCATION_ID, como europe-west4-. Consulta más información sobre los puntos finales regionalizados.
  • 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.
  • INDEX_ENDPOINT_ID: el ID del endpoint de índice de destino.
  • ?update_mask=fieldToUpdate: lista de los campos disponibles a los que quieras aplicar la actualización. Especifique los valores correspondientes de los campos nuevos en el cuerpo de la solicitud. Este nuevo valor sustituye al valor del campo. Puedes especificar varios campos como valores separados por comas. Campos disponibles:
    • Nombre visible: ?update_mask=display_name
    • Descripción: ?update_mask=description
    • Actualizar todos los campos: ?update_mask=*

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  "display_name": "DISPLAY_NAME"
}

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 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

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 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

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

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

Mostrar endpoints de índice

REST

Para mostrar los puntos finales de índice de un proyecto de Vision Warehouse, envía una solicitud GET mediante el método projects.locations.indexEndpoints.list.

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

Método HTTP y URL:

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

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

PowerShell

Ejecuta el comando siguiente:

$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

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

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

Obtener un endpoint de índice

REST

Para obtener detalles sobre un endpoint de índice, envía una solicitud GET con el método projects.locations.indexEndpoints.get.

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

  • REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con LOCATION_ID, como europe-west4-. Consulta más información sobre los puntos finales regionalizados.
  • 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.
  • INDEX_ENDPOINT_ID: el ID del endpoint de índice de destino.

Método HTTP y URL:

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

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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID"

PowerShell

Ejecuta el comando siguiente:

$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

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

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

Implementar índice

REST

Para desplegar un índice en un endpoint de índice, envía una solicitud POST con el método projects.locations.indexEndpoints.deployIndex.

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

  • REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con LOCATION_ID, como europe-west4-. Consulta más información sobre los puntos finales regionalizados.
  • 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.
  • INDEX_ENDPOINT_ID: el ID del endpoint de índice de destino.
  • CORPUS_ID: el ID del corpus de destino.
  • INDEX_ID: el ID del índice de destino.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

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

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

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

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

Anular despliegue de índice

REST

Para retirar un índice de un endpoint de índice, envía una solicitud POST con el método projects.locations.indexEndpoints.undeployIndex.

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

  • REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con LOCATION_ID, como europe-west4-. Consulta más información sobre los puntos finales regionalizados.
  • 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.
  • INDEX_ENDPOINT_ID: el ID del endpoint de índice de destino.

Método HTTP y URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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

Ejecuta el comando siguiente:

$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

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

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

Eliminar un endpoint de índice

Un endpoint de índice solo se puede eliminar si no tiene ningún index implementado. Anula el despliegue del índice antes de eliminar un endpoint con un índice desplegado.

REST

Para eliminar un recurso de índice, envía una solicitud DELETE con el método projects.locations.indexEndpoints.delete.

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

  • REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con LOCATION_ID, como europe-west4-. Consulta más información sobre los puntos finales regionalizados.
  • 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.
  • INDEX_ENDPOINT_ID: el ID del endpoint de índice de destino.

Método HTTP y URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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

Ejecuta el comando siguiente:

$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

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

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