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

Un Vision Warehouse (corpus) connecté dans une application déployée qui ingère des données comporte une ou plusieurs ressources d'objet multimédia (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 élément de streaming vidéo dans un entrepôt

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

API REST et ligne de commande

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

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 : Votre Google Cloud numéro de projet.
  • LOCATION_ID : région dans laquelle vous utilisez Agent Platform Vision. 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'élément. Dans cette requête, la valeur est ajoutée à l'URL de la requête au format suivant :
    • https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets?asset_id=ASSET_ID
  • TIME_TO_LIVE : durée de vie (TTL) de tous les éléments d'un corpus ou valeur TTL d'un élément spécifique. Par exemple, pour un corpus dont les éléments ont une valeur 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 élément créé, vous pouvez ingérer des données vidéo directement dans l'entrepôt de cet élément à l'aide de l'outil de ligne de commande vaictl.

Mettre à jour un élément de streaming vidéo dans un entrepôt

Utilisez l'exemple de code suivant pour mettre à jour la durée de vie (TTL) d'un élément. 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 la valeur TTL d'un élément. Vous ne pouvez utiliser un paramètre de requête que pour mettre à jour le champ TTL. updateMask fonctionne comme suit :

  • S'il est spécifié, 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 dont 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 la valeur TTL d'un élément à l'aide de la projects.locations.corpora.assets.patch méthode.

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 l'élément.

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

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 ci-dessous, effectuez les remplacements suivants :

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