Creare e aggiornare un asset del magazzino

Un Vision Warehouse (corpus) connesso in un'app di importazione dei dati di cui è stato eseguito il deployment contiene una o più risorse di oggetti multimediali (ad esempio risorse video). Questi oggetti media (risorse asset) contengono metadati e annotazioni delle risorse. Utilizza i seguenti comandi per creare e aggiornare questi oggetti multimediali.

Creare un asset del magazzino video in streaming

Dopo aver creato un magazzino (risorsa corpus), puoi aggiungere al magazzino una o più risorse video asset.

REST e riga di comando

Il seguente codice crea una nuova risorsa nel magazzino specificato (corpus) con la possibilità di specificare l'ID della risorsa e un TTL.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID, ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il tuo Google Cloud numero progetto.
  • LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio: us-central1, europe-west4. Consulta le regioni disponibili.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • ASSET_ID: (facoltativo) un valore fornito dall'utente per l'ID risorsa. In questa richiesta, il valore viene aggiunto all'URL della richiesta nel seguente formato:
    • https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets?asset_id=ASSET_ID
  • TIME_TO_LIVE: la durata (TTL) di tutti gli asset di un corpus o la durata (TTL) di un asset specifico. Ad esempio, per un corpus con asset con un TTL di 100 giorni, specifica il valore 8640000 (secondi).

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

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

SDK Vertex AI Vision

Per inviare una richiesta di lettura di uno stream di output del modello, devi installare l'SDK Vertex AI Vision.

Quando utilizzi lo strumento a riga di comando vaictl per creare una risorsa, non puoi specificare un ID risorsa o un TTL.

Apporta le seguenti sostituzioni delle variabili:

  • PROJECT_NUMBER: il numero del tuo Google Cloud progetto.
  • LOCATION_ID: il tuo ID posizione. Ad esempio, us-central1. Regioni supportate. Scopri di più.
  • CORPUS_ID: l'ID del magazzino di destinazione (risorsa corpus).
vaictl --project-id=PROJECT_NUMBER \
--location-id=LOCATION_ID \
--service-endpoint=warehouse-visionai.googleapis.com \
create asset CORPUS_ID

Dopo aver creato una risorsa, puoi importare i dati video direttamente nel magazzino della risorsa utilizzando lo strumento a riga di comando vaictl.

Aggiornare un asset del magazzino video in streaming

Utilizza il seguente esempio di codice per aggiornare il valore TTL (time-to-live) di un asset. Puoi aggiornare solo il campo TTL.

Utilizza il parametro di query updateMask nell'esempio di codice seguente per aggiornare il TTL di un asset. Puoi utilizzare un parametro di query per aggiornare solo il campo TTL. updateMask funziona nel seguente modo:

  • Se specificato, vengono aggiornati solo i campi in updateMask.
  • Se il valore della maschera di aggiornamento è *, la richiesta aggiorna tutti i campi.
  • Se la maschera di aggiornamento non è specificata, vengono aggiornati solo i campi nell'URL della richiesta con un valore fornito nel corpo della richiesta.

REST e riga di comando

I seguenti esempi di codice modificano il TTL di una risorsa utilizzando il metodo projects.locations.corpora.assets.patch.

Modificare un valore TTL

Questo esempio utilizza ?updateMask=ttl nell'URL della richiesta e include un nuovo valore ttl.seconds nel corpo della richiesta per aggiornare l'asset.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID, ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il tuo Google Cloud numero progetto.
  • LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio: us-central1, europe-west4. Consulta le regioni disponibili.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • ASSET_ID: l'ID della risorsa di destinazione.
  • ?updateMask=fieldToUpdate: uno dei campi disponibili a cui puoi applicare un updateMask. Campi disponibili:
    • Durata (TTL): ?updateMask=ttl
    • Aggiorna tutti i campi: ?updateMask=*

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Rimuovere un valore TTL

Questo esempio utilizza ?updateMask=ttl nell'URL della richiesta e include un corpo della richiesta vuoto per cancellare il valore TTL della risorsa.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID, ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il tuo Google Cloud numero progetto.
  • LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio: us-central1, europe-west4. Consulta le regioni disponibili.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • ASSET_ID: l'ID della risorsa di destinazione.
  • ?updateMask=fieldToUpdate: uno dei campi disponibili a cui puoi applicare un updateMask. Campi disponibili:
    • Durata (TTL): ?updateMask=ttl
    • Aggiorna tutti i campi: ?updateMask=*

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

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