Créer et mettre à jour un entrepôt vidéo par lot

Créez un entrepôt vidéo par lot prêt à être utilisé pour la recherche.

Configurer un entrepôt vidéo Batch minimal

Il existe deux façons courantes de configurer un entrepôt vidéo par lot minimal.

  • Option 1: Déployez d'abord un indice vide, puis ajoutez progressivement des éléments vidéo. La séquence d'API typique pour cette approche est la suivante:

    • Configurez un corpus: CreateCorpus, puis CreateDataSchema.
    • Configurez un indice vide: CreateIndex, CreateIndexEndpoint et DeployIndex.
    • Ajoutez des composants vidéo: CreateAsset, UploadAsset, AnalyzeAsset et IndexAsset.
      • (Facultatif) Ajoutez des annotations vidéo: CreateAnnotation.
  • Option 2: Importez d'abord les composants vidéo, puis déployez un indice. La séquence d'API typique pour cette approche est la suivante:

    • Configurez un corpus: CreateCorpus, puis CreateDataSchema.
    • Ajoutez des composants vidéo: CreateAsset, UploadAsset et AnalyzeAsset.
      • (Facultatif) Ajoutez des annotations vidéo: CreateAnnotation.
    • Configurez un indice avec des composants existants : CreateIndex, CreateIndexEndpoint et DeployIndex.

Choisir une approche : la meilleure approche dépend de vos besoins spécifiques. Si vous devez commencer à rechercher des vidéos dès que possible, nous vous recommandons d'utiliser la première approche. Si vous devez importer un grand nombre de vidéos, nous vous conseillons d'utiliser cette dernière option.

Créer un corpus

Pour commencer, vous devez créer une ressource de corpus. Lorsque vous créez un corpus de vidéothèque par lot, spécifiez EMBEDDING_SEARCH comme valeur par défaut de la propriété searchCapabilitySetting.

API REST et ligne de commande

Crée une ressource de corpus sous le projet donné avec la possibilité de spécifier le nom à afficher et la description du corpus.

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.
  • DISPLAY_NAME: nom à afficher de l'entrepôt.
  • WAREHOUSE_DESCRIPTION: description de l'entrepôt (corpus).

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "display_name": "DISPLAY_NAME",
  "description": "WAREHOUSE_DESCRIPTION",
  "type": "VIDEO_ON_DEMAND",
  "search_capability_setting": {
    "search_capabilities": {
      "type": "EMBEDDING_SEARCH"
    }
  }
}

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/corpora"

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/corpora" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
    "displayName": "DISPLAY_NAME",
    "description": "WAREHOUSE_DESCRIPTION",
    "type": "VIDEO_ON_DEMAND",
    "search_capability_setting": {
      "search_capabilities": {
        "type": "EMBEDDING_SEARCH"
      }
    }
  }
}

Créer, importer et analyser des composants

Pour ajouter une vidéo à l'entrepôt vidéo par lot, créez d'abord un composant.

API REST et ligne de commande

Pour créer une ressource d'asset, envoyez une requête POST à l'aide de la méthode projects.locations.corpora.assets.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.
  • CORPUS_ID: ID de votre corpus cible.
  • ASSET_ID (facultatif) : valeur fournie par l'utilisateur pour l'ID de l'asset. Dans cette requête, la valeur est ajoutée à l'URL de la requête sous la forme suivante :
    • https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets?asset_id=ASSET_ID
  • TIME_TO_LIVE: durée de vie (TTL) de tous les composants d'un corpus ou TTL d'un composant spécifique. Par exemple, pour un corpus d'éléments dont le TTL est de 100 jours, indiquez la valeur 8640000 (secondes).

Méthode HTTP et URL :

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets

Corps JSON de la requête :

{
}

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/corpora/CORPUS_ID/assets"

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/corpora/CORPUS_ID/assets" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
}

L'étape suivante consiste à importer la vidéo à partir d'un URI Cloud Storage. Notez que l'entrepôt vidéo par lot ne stocke pas de copie du fichier vidéo. L'API UploadAsset ne vérifie que les métadonnées de la vidéo pour s'assurer qu'aucun quota ni aucune limite n'est enfreint.

API REST et ligne de commande

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.
  • CORPUS_ID: ID de votre corpus cible.
  • ASSET_ID: ID de votre composant cible.

Méthode HTTP et URL :

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:upload

Corps JSON de la requête :

{
  "asset_source": {
    "asset_gcs_source": {
      "gcs_uri": "GCS_URI"
    }
  }
}

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/corpora/CORPUS_ID/assets/ASSET_ID:upload"

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/corpora/CORPUS_ID/assets/ASSET_ID:upload" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID",
}

La vidéo importée doit être analysée avant d'être incluse dans les index de recherche.

API REST et ligne de commande

Analysez un composant vidéo à l'aide de la méthode projects.locations.corpora.assets.analyze. Par défaut, Batch Video Warehouse exécute une analyse d'intégration sur le contenu vidéo.

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.
  • CORPUS_ID: ID de votre corpus cible.
  • ASSET_ID: ID de votre composant cible.

Méthode HTTP et URL :

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:analyze

Corps JSON de la requête :

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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/corpora/CORPUS_ID/assets/ASSET_ID:analyze"

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/corpora/CORPUS_ID/assets/ASSET_ID:analyze" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID"
}

Créer des schémas de données

Un schéma de données est obligatoire si vous souhaitez annoter les vidéos avec des métadonnées personnalisées et rechercher les métadonnées. Chaque schéma de données possède une clé unique, qui doit être associée aux annotations et utilisée comme critère de filtrage dans la recherche.

API REST et ligne de commande

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.
  • CORPUS_ID: ID de votre corpus cible.
  • DATASCHEMA_KEY: cette clé doit correspondre à celle d'une annotation spécifiée par l'utilisateur et être unique dans un corpus. Par exemple, data-key.
  • ANNOTATION_DATA_TYPE: type de données de l'annotation. Valeurs disponibles :
    • DATA_TYPE_UNSPECIFIED
    • INTEGER
    • FLOAT
    • STRING
    • DATETIME
    • GEO_COORDINATE
    • PROTO_ANY
    • BOOLEAN

    Pour en savoir plus, consultez la documentation de référence sur les API.

  • ANNOTATION_GRANULARITY: précision des annotations sous ce dataSchema. Valeurs disponibles :
    • GRANULARITY_UNSPECIFIED : précision non spécifiée.
    • GRANULARITY_ASSET_LEVEL : granularité au niveau de l'asset (les annotations ne doivent pas contenir d'informations de partitionnement temporel pour l'asset multimédia).
    • GRANULARITY_PARTITION_LEVEL : précision au niveau de la partition (les annotations doivent contenir des informations de partitionnement temporel pour le composant multimédia).
  • SEARCH_STRATEGY: l'une des valeurs d'énumération disponibles. Types de stratégies de recherche à appliquer à la clé d'annotation. Valeurs disponibles :
    • NO_SEARCH
    • EXACT_SEARCH
    • SMART_SEARCH

Méthode HTTP et URL :

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas

Corps JSON de la requête :

{
  "key": "DATASCHEMA_KEY",
  "schema_details": {
    "type": "ANNOTATION_DATA_TYPE",
    "granularity": "ANNOTATION_GRANULARITY",
    "search_strategy": {
      "search_strategy_type": "SEARCH_STRATEGY"
    }
  }
}

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/corpora/CORPUS_ID/dataSchemas"

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/corpora/CORPUS_ID/dataSchemas" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID",
  "key": "data-key",
  "schemaDetails": {
    "type": "BOOLEAN",
    "granularity": "GRANULARITY_ASSET_LEVEL",
    "searchStrategy": {
      "search_strategy_type": "EXACT_SEARCH"
    }
  }
}

Créer des annotations

Vous pouvez annoter une vidéo avec des annotations au niveau de l'asset ou des annotations avec des partitions temporelles relatives. Chaque annotation doit être spécifiée avec une clé de schéma de données existante.

API REST et ligne de commande

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.
  • CORPUS_ID: ID de votre corpus cible.
  • ASSET_ID: ID de votre composant cible.
  • ANNOTATION_ID (facultatif) : valeur fournie par l'utilisateur pour l'ID de l'annotation. Dans cette requête, la valeur est ajoutée à l'URL de la requête sous la forme suivante :
    • https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID

Méthode HTTP et URL :

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations

Corps JSON de la requête :

{
  "user_specified_annotation": {
    "key": "object-detected",
    "value": {
      "str_value": "cat"
    },
    "partition": {
      "relative_temporal_partition": {
        "start_offset": {
          "seconds": "60"
        },
        "end_offset": {
          "seconds": "300"
        }
      }
    }
  }
}

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/corpora/CORPUS_ID/assets/ASSET_ID/annotations"

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/corpora/CORPUS_ID/assets/ASSET_ID/annotations" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID",
  "userSpecifiedAnnotation": {
    "key": "object-detected",
    "value": {
      "strValue": "cat"
    },
    "partition": {
      "relative_temporal_partition": {
        "start_offset": "60s",
        "end_offset": "300s"
      }
    }
  }
}

Créer un index

Une fois que vous avez ajouté des composants vidéo et des annotations, vous pouvez créer un indice sur un corpus. Un indice capture l'état du corpus au moment de la création, y compris tous les composants et annotations analysés.

API REST et ligne de commande

Cet exemple vous montre comment créer une ressource d'index.

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.
  • CORPUS_ID: ID de votre corpus cible.
  • INDEX_ID (facultatif) : valeur fournie par l'utilisateur pour l'ID 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/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID

Méthode HTTP et URL :

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes

Corps JSON de la requête :

{
  "display_name": "DISPLAY_NAME",
  "description": "INDEX_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/corpora/CORPUS_ID/indexes"

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/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content

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

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

Déployer l'index sur le point de terminaison d'index

Un index doit être déployé sur un point de terminaison d'index avant de pouvoir être utilisé pour la recherche. Un point de terminaison d'index fournit le point d'accès pour envoyer une requête de recherche.

Cet exemple montre comment créer un point de terminaison d'index.

API REST et ligne de commande

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

Cet exemple montre comment déployer un index sur un point de terminaison d'index.

API REST et ligne de commande

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

Mettre à jour des éléments en continu dans l'index

Vous pouvez utiliser les méthodes IndexAsset ou RemoveIndexAsset pour mettre à jour ou supprimer un seul composant d'un indice déployé. La mise à jour en streaming vous permet de mettre à jour et de rechercher dans l'index en un court laps de temps.

Cet exemple montre comment mettre à jour un composant dans un index.

API REST et ligne de commande

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.
  • CORPUS_ID: ID de votre corpus cible.
  • ASSET_ID: ID de votre composant cible.

Méthode HTTP et URL :

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:index

Corps JSON de la requête :

{
  "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/corpora/CORPUS_ID/assets/ASSET_ID:index"

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/corpora/CORPUS_ID/assets/ASSET_ID:index" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID",
}

Cet exemple montre comment supprimer un composant de l'index.

API REST et ligne de commande

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.
  • CORPUS_ID: ID de votre corpus cible.
  • ASSET_ID: ID de votre composant cible.

Méthode HTTP et URL :

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:removeIndex

Corps JSON de la requête :

{
  "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/corpora/CORPUS_ID/assets/ASSET_ID:removeIndex"

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/corpora/CORPUS_ID/assets/ASSET_ID:removeIndex" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID",
}

Étape suivante