Gérer les points de terminaison d'index

Le point de terminaison d'index de l'entrepôt Vision est un environnement géré qui diffuse des index de l'entrepôt Vision. Les points de terminaison d'index fournissent un point d'accès unique pour l'envoi de requêtes de recherche. Pour effectuer des recherches dans le corpus de votre Vision Warehouse, vous devez d'abord créer une ressource indexEndpoint et déployer votre index dans celle-ci.

Créer un point de terminaison d'index

REST

Pour créer un point de terminaison d'index, envoyez une requête POST à l'aide de la méthode projects.locations.indexEndpoints.create.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT_NUMBER : Numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • INDEX_ENDPOINT_ID : (facultatif) valeur fournie par l'utilisateur pour l'ID du point de terminaison de l'index. Dans cette requête, la valeur est ajoutée à l'URL de la requête sous la forme suivante :
    • https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Mettre à jour un point de terminaison d'index

L'API UpdateIndexEndpoint permet de mettre à jour les champs de métadonnées du point de terminaison d'index, comme display_name et description. La mise à jour du champ labels d'un point de terminaison d'index n'est pas autorisée.

Le champ update_mask de la requête, également appelé masque de champ, permet de spécifier les champs à remplacer dans la ressource indexEndpoint par la mise à jour. Les champs spécifiés dans le champ update_mask sont relatifs à la ressource, et non à la requête complète. Un champ de la ressource sera écrasé s'il figure dans le masque. Les masques de champ vides ne sont pas autorisés. Si le masque est "*", une mise à jour complète du point de terminaison de l'index est déclenchée.

REST

Pour mettre à jour un point de terminaison d'index, envoyez une requête PATCH à l'aide de la méthode projects.locations.indexEndpoints.patch.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT_NUMBER : Numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • INDEX_ENDPOINT_ID : ID de votre point de terminaison d'index cible.
  • ?update_mask=fieldToUpdate : liste des champs disponibles auxquels vous souhaitez appliquer la mise à jour. Spécifiez les valeurs correspondantes pour les nouveaux champs dans le corps de la requête. Cette nouvelle valeur remplace la valeur de champ existante. Vous pouvez spécifier plusieurs champs sous la forme de valeurs séparées par des virgules. Champs disponibles :
    • Nom à afficher : ?update_mask=display_name
    • Description : ?update_mask=description
    • Mettez à jour tous les champs : ?update_mask=*

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "display_name": "DISPLAY_NAME"
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Lister les points de terminaison d'index

REST

Pour lister les points de terminaison d'index sous un projet Vision Warehouse, envoyez une requête GET à l'aide de la méthode projects.locations.indexEndpoints.list.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Obtenir un point de terminaison d'index

REST

Pour obtenir des détails sur un point de terminaison d'index, envoyez une requête GET à l'aide de la méthode projects.locations.indexEndpoints.get.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT_NUMBER : Numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • INDEX_ENDPOINT_ID : ID de votre point de terminaison d'index cible.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Déployer un index

REST

Pour déployer un index sur un point de terminaison d'index, envoyez une requête POST à l'aide de la méthode projects.locations.indexEndpoints.deployIndex.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT_NUMBER : Numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • INDEX_ENDPOINT_ID : ID de votre point de terminaison d'index cible.
  • CORPUS_ID : ID de votre corpus cible.
  • INDEX_ID : ID de votre index cible.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Annuler le déploiement de l'index

REST

Pour annuler le déploiement d'un index à partir d'un point de terminaison d'index, envoyez une requête POST à l'aide de la méthode projects.locations.indexEndpoints.undeployIndex.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT_NUMBER : Numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • INDEX_ENDPOINT_ID : ID de votre point de terminaison d'index cible.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Supprimer un point de terminaison d'index

Un point de terminaison d'index ne peut être supprimé que si aucun index n'y est déployé. Annulez le déploiement de l'index avant de supprimer un point de terminaison sur lequel un index est déployé.

REST

Pour supprimer une ressource d'index, envoyez une requête DELETE à l'aide de la méthode projects.locations.indexEndpoints.delete.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • REGIONALIZED_ENDPOINT : le point de terminaison peut inclure un préfixe correspondant à LOCATION_ID, tel que europe-west4-. En savoir plus sur les points de terminaison régionalisés
  • PROJECT_NUMBER : Numéro de votre projet Google Cloud.
  • LOCATION_ID : région dans laquelle vous utilisez Vertex AI Vision. Par exemple : us-central1, europe-west4. Consultez les régions disponibles.
  • INDEX_ENDPOINT_ID : ID de votre point de terminaison d'index cible.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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