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

Un entrepôt Vision connecté (corpus) dans une application déployée qui ingère des données contient 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 élément sous l'entrepôt donné (corpus) avec la possibilité de spécifier l'ID de l'élément et un 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: 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 :

{
  "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 Vertex AI Vision

Pour envoyer une requête de lecture d'un flux de sortie de modèle, vous devez installer le SDK Vertex AI Vision.

Lorsque vous utilisez l'outil de ligne de commande vaictl pour créer un composant, vous ne pouvez pas spécifier d'ID ni de 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.

Modifier un composant de dépôt vidéo en streaming

Utilisez l'exemple de code suivant pour mettre à jour la durée de vie (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 ne pouvez utiliser un paramètre de requête que pour mettre à jour 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 avec une valeur 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 l'asset.

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.
  • ?updateMask=fieldToUpdate: l'un des champs disponibles auxquels vous pouvez appliquer un updateMask. Champs disponibles :
    • Valeur TTL (Time to Live): ?updateMask=ttl
    • Mettre à 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'asset.

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.
  • ?updateMask=fieldToUpdate: l'un des champs disponibles auxquels vous pouvez appliquer un updateMask. Champs disponibles :
    • Valeur TTL (Time to Live): ?updateMask=ttl
    • Mettre à 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"
}