Lager-Asset erstellen und aktualisieren

Ein verbundenes Vision Warehouse (corpus) in einer bereitgestellten App, in der Daten aufgenommen werden, enthält eine oder mehrere Medienobjektressourcen (z. B. Videoressourcen). Diese Medienobjekte (asset-Ressourcen) enthalten Metadaten und Ressourcenanmerkungen. Mit den folgenden Befehlen kannst du diese Medienobjekte erstellen und aktualisieren.

Warehouse-Asset für Streamingvideo erstellen

Nachdem Sie ein Warehouse (corpus-Ressource) erstellt haben, können Sie dem Warehouse eine oder mehrere Videoressourcen vom Typ asset hinzufügen.

REST UND BEFEHLSZEILE

Mit dem folgenden Code wird ein neues Asset im angegebenen Warehouse (corpus) erstellt. Dabei können die ID des Assets und eine TTL angegeben werden.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem LOCATION_ID übereinstimmt, z. B. europe-west4-. Weitere Informationen zu regionalisierten Endpunkten
  • PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
  • LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel: us-central1, europe-west4. Weitere Informationen finden Sie unter Verfügbare Regionen.
  • CORPUS_ID: Die ID des Zielkorpus.
  • ASSET_ID: (Optional) Ein vom Nutzer angegebener Wert für die Asset-ID. In dieser Anfrage wird der Wert der Anfrage-URL in folgendem Format hinzugefügt:
    • https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets?asset_id=ASSET_ID
  • TIME_TO_LIVE: Die Gültigkeitsdauer (TTL) für alle Assets in einem Corpus oder die TTL eines bestimmten Assets. Geben Sie für einen Corpus mit Assets mit einer TTL von 100 Tagen beispielsweise den Wert 8640000 (Sekunden) an.

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

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

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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

Vertex AI Vision SDK

Wenn Sie eine Anfrage zum Lesen eines Modellausgabestreams senden möchten, müssen Sie das Vertex AI Vision SDK installieren.

Wenn Sie ein Asset mit dem Befehlszeilentool vaictl erstellen, können Sie keine Asset-ID oder TTL angeben.

Ersetzen Sie die folgenden Variablen:

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

Nachdem ein Asset erstellt wurde, kannst du mit dem vaictl-Befehlszeilentool Videodaten direkt in das Warehouse für dieses Asset einspeisen.

Warehouse-Asset für Streamingvideo aktualisieren

Mit dem folgenden Codebeispiel kannst du die Gültigkeitsdauer (TTL) eines Assets aktualisieren. Sie können nur das TTL-Feld aktualisieren.

Verwenden Sie den Abfrageparameter updateMask im folgenden Codebeispiel, um die TTL eines Assets zu aktualisieren. Sie können einen Abfrageparameter nur zum Aktualisieren des TTL-Felds verwenden. updateMask funktioniert so:

  • Falls angegeben, werden nur die Felder in updateMask aktualisiert.
  • Wenn der Wert der Aktualisierungsmaske * ist, werden alle Felder in der Anfrage aktualisiert.
  • Wenn die Aktualisierungsmaske nicht angegeben ist, werden nur die Felder in der Anfrage-URL mit einem Wert im Anfragetext aktualisiert.

REST UND BEFEHLSZEILE

In den folgenden Codebeispielen wird die TTL eines Assets mit der Methode projects.locations.corpora.assets.patch geändert.

TTL-Wert ändern

In diesem Beispiel wird ?updateMask=ttl in der Anfrage-URL verwendet und der Anfragetext enthält einen neuen ttl.seconds-Wert, um das Asset zu aktualisieren.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem LOCATION_ID übereinstimmt, z. B. europe-west4-. Weitere Informationen zu regionalisierten Endpunkten
  • PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
  • LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel: us-central1, europe-west4. Weitere Informationen finden Sie unter Verfügbare Regionen.
  • CORPUS_ID: Die ID des Zielkorpus.
  • ASSET_ID: Die ID des Ziel-Assets.
  • ?updateMask=fieldToUpdate: Eines der verfügbaren Felder, auf das ein updateMask angewendet werden kann. Verfügbare Felder:
    • Gültigkeitsdauer (TTL): ?updateMask=ttl
    • Aktualisieren Sie alle Felder: ?updateMask=*

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

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

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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

TTL-Wert entfernen

In diesem Beispiel wird ?updateMask=ttl in der Anfrage-URL verwendet und der Anfragetext ist leer, um den TTL-Wert des Assets zu löschen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem LOCATION_ID übereinstimmt, z. B. europe-west4-. Weitere Informationen zu regionalisierten Endpunkten
  • PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
  • LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel: us-central1, europe-west4. Weitere Informationen finden Sie unter Verfügbare Regionen.
  • CORPUS_ID: Die ID des Zielkorpus.
  • ASSET_ID: Die ID des Ziel-Assets.
  • ?updateMask=fieldToUpdate: Eines der verfügbaren Felder, auf das ein updateMask angewendet werden kann. Verfügbare Felder:
    • Gültigkeitsdauer (TTL): ?updateMask=ttl
    • Aktualisieren Sie alle Felder: ?updateMask=*

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

{}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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