Créer et mettre à jour un composant Entrepôt

Un entrepôt Vision (corpus) connecté dans une application déployée qui ingère des données comporte une ou plusieurs ressources d'objets multimédias (par exemple, des ressources vidéo). Ces objets multimédias (ressources asset) contiennent des métadonnées et des annotations de ressources. Utilisez les commandes suivantes pour créer et mettre à jour ces objets multimédias.

Créer un composant d'entrepôt de vidéos en streaming

Une fois que vous avez créé un entrepôt (ressource corpus), vous pouvez y ajouter une ou plusieurs ressources vidéo asset.

API REST et ligne de commande

Le code suivant crée un asset sous l'entrepôt de données donné (corpus) avec la possibilité de spécifier l'ID de l'asset et un TTL.

Avant d'utiliser les données de requête, 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 Agent Platform 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 d'élément. 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 valeur TTL d'un composant spécifique. Par exemple, pour un corpus dont les composants ont un TTL de 100 jours, indiquez la valeur 8640000 (en 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 :

{
  "ttl": {
    "seconds": TIME_TO_LIVE
  }
}

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",
  "ttl": "TIME_TO_LIVEs"
}

SDK Vision Gemini Enterprise Agent Platform

Pour envoyer une requête de lecture d'un flux de sortie de modèle, vous devez installer le SDK Vision Gemini Enterprise Agent Platform.

Lorsque vous utilisez l'outil de ligne de commande vaictl pour créer un élément, vous ne pouvez pas spécifier d'ID d'élément ni de valeur TTL.

Effectuez les substitutions de variables suivantes :

vaictl --project-id=PROJECT_NUMBER \
--location-id=LOCATION_ID \
--service-endpoint=warehouse-visionai.googleapis.com \
create asset CORPUS_ID

Une fois un composant créé, vous pouvez ingérer des données vidéo directement dans l'entrepôt de données de ce composant à l'aide de l'outil de ligne de commande vaictl.

Mettre à jour un composant d'entrepôt de vidéos en streaming

Utilisez l'exemple de code suivant pour mettre à jour le délai avant expiration (TTL) d'un composant. Vous ne pouvez mettre à jour que le champ TTL.

Utilisez le paramètre de requête updateMask dans l'exemple de code suivant pour mettre à jour le TTL d'un composant. Vous pouvez utiliser un paramètre de requête pour mettre à jour uniquement le champ "TTL". updateMask fonctionne comme suit :

  • Si elle est spécifiée, seuls les champs de updateMask sont mis à jour.
  • Si la valeur du masque de mise à jour est *, la requête met à jour tous les champs.
  • Si le masque de mise à jour n'est pas spécifié, seuls les champs de l'URL de la requête pour lesquels une valeur est fournie dans le corps de la requête sont mis à jour.

API REST et ligne de commande

Les exemples de code suivants modifient le TTL d'un composant à l'aide de la méthode projects.locations.corpora.assets.patch.

Modifier une valeur TTL

Cet exemple utilise ?updateMask=ttl dans l'URL de la requête et inclut une nouvelle valeur ttl.seconds dans le corps de la requête pour mettre à jour le composant.

Avant d'utiliser les données de requête, 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 Agent Platform 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.
  • ?updateMask=fieldToUpdate : l'un des champs disponibles auxquels vous pouvez appliquer un updateMask. Champs disponibles :
    • Valeur TTL (Time to Live) : ?updateMask=ttl
    • Mettez à jour tous les champs : ?updateMask=*

Méthode HTTP et URL :

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl

Corps JSON de la requête :

{
  "ttl": {
    "seconds": "1"
  }
}

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/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl"

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/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl" | 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"
}

Supprimer une valeur TTL

Cet exemple utilise ?updateMask=ttl dans l'URL de la requête et inclut un corps de requête vide pour effacer la valeur TTL de l'élément.

Avant d'utiliser les données de requête, 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 Agent Platform 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.
  • ?updateMask=fieldToUpdate : l'un des champs disponibles auxquels vous pouvez appliquer un updateMask. Champs disponibles :
    • Valeur TTL (Time to Live) : ?updateMask=ttl
    • Mettez à jour tous les champs : ?updateMask=*

Méthode HTTP et URL :

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl

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 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/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl"

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/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl" | 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"
}