Ein verbundenes Vision Warehouse (corpus
) in einer bereitgestellten App, die Daten aufnimmt, enthält ein oder mehrere Media-Objekte assets
. Sie können weitere Details zu diesem Media-Objekt assets
mit dataSchema
- und nutzergenerierten annotation
-Ressourcen angeben.
Ressourcen für Datenschemas müssen vor einer annotation
-Ressource mit diesem Datenschemaschlüssel erstellt werden. Nachdem Sie Datenschemas (dataSchema
-Ressourcen) erstellt haben, um der Vertex AI Vision API mitzuteilen, wie Media-Anmerkungen interpretiert werden sollen, können Sie annotation
-Ressourcen für Media in einem Data Warehouse erstellen.
Datenschema erstellen (API)
REST
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. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - CORPUS_ID: Die ID Ihres Zielkorpus.
- DATASCHEMA_KEY: Dieser Schlüssel muss mit dem Schlüssel einer benutzerdefinierten Anmerkung übereinstimmen und innerhalb eines
corpus
eindeutig sein. Beispiel:data-key
- ANNOTATION_DATA_TYPE: Der Datentyp der Annotation. Verfügbare Werte:
DATA_TYPE_UNSPECIFIED
INTEGER
FLOAT
STRING
DATETIME
GEO_COORDINATE
PROTO_ANY
BOOLEAN
Weitere Informationen finden Sie in der API-Referenzdokumentation.
- ANNOTATION_GRANULARITY: Der Detaillierungsgrad der Annotationen unter diesem
dataSchema
. Verfügbare Werte:GRANULARITY_UNSPECIFIED
– Nicht angegebener Detaillierungsgrad.GRANULARITY_ASSET_LEVEL
: Granularität auf Asset-Ebene (Anmerkungen dürfen keine Informationen zur zeitlichen Aufteilung für das Media-Asset enthalten).GRANULARITY_PARTITION_LEVEL
– Granularität auf Partitionsebene (Anmerkungen müssen Informationen zur zeitlichen Partition für das Media-Asset enthalten).
- SEARCH_STRATEGY: Einer der verfügbaren Enum-Werte. Die Arten von Suchstrategien, die auf den Annotationsschlüssel angewendet werden sollen. Verfügbare Werte:
NO_SEARCH
EXACT_SEARCH
SMART_SEARCH
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
JSON-Text der Anfrage:
{ "key": "DATASCHEMA_KEY", "schema_details": { "type": "ANNOTATION_DATA_TYPE", "granularity": "ANNOTATION_GRANULARITY", "search_strategy": { "search_strategy_type": "SEARCH_STRATEGY" } } }
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/dataSchemas"
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/dataSchemas" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "data-key", "schemaDetails": { "type": "BOOLEAN", "granularity": "GRANULARITY_ASSET_LEVEL", "searchStrategy": { "search_strategy_type": "EXACT_SEARCH" } } }
Datenschema aktualisieren (API)
REST UND BEFEHLSZEILE
Im folgenden Code wird ein dataSchema
mit der Methode projects.locations.corpora.dataSchemas.patch
aktualisiert.
In diesem Beispiel wird ?updateMask=schemaDetails.type,schemaDetails.granularity
in der Anfrage-URL verwendet und der Anfrage-Body enthält die neuen Werte schemaDetails.type
und schemaDetails.granularity
, um das Datenschema 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. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - CORPUS_ID: Die ID Ihres Zielkorpus.
- DATASCHEMA_ID: Die ID Ihres Zieldatenschemas.
?updateMask=fieldToUpdate
: Eines der verfügbaren Felder, auf das Sie eineupdateMask
anwenden können. Geben Sie den entsprechenden neuen Feldwert im Anfragetext an. Dieser neue Wert ersetzt den vorhandenen Feldwert. Verfügbare Felder:- Schlüssel:
?updateMask=key
- Schematyp:
?updateMask=schemaDetails.type
- Detaillierungsgrad des Schemas:
?updateMask=schemaDetails.granularity
- Typ der Schemasuchstrategie:
?updateMask=schemaDetails.searchStrategy.searchStrategyType
- Aktualisieren Sie alle Felder:
?updateMask=*
- Schlüssel:
HTTP-Methode und URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity
JSON-Text der Anfrage:
{ "key": "original-data-key", "schemaDetails": { "type":"INTEGER", "granularity":"GRANULARITY_PARTITION_LEVEL" "searchStrategy": { "searchStrategyType": "NO_SEARCH" } } }
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/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity"
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/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "original-data-key", "schemaDetails": { "type": "INTEGER", "granularity": "GRANULARITY_PARTITION_LEVEL", "searchStrategy": { "searchStrategyType": "NO_SEARCH" } } }
Benutzerdefiniertes Schema für strukturierte Daten hinzufügen
Mit benutzerdefinierten Strukturen können Nutzer komplexere Container zum Speichern von Werten definieren und Suchfunktionen bereitstellen. Damit Sie diese Funktion nutzen können, muss das Datenschema definiert sein, z. B.:
REST
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. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - CORPUS_ID: Die ID Ihres Zielkorpus.
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
JSON-Text der Anfrage:
{ "key": "person", "schema_details" : { "type":"CUSTOMIZED_STRUCT", "granularity":"GRANULARITY_ASSET_LEVEL", "customized_struct_config": { "field_schemas": { "name": { "type":"STRING", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } }, "age": { "type":"FLOAT", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } } } } } }
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/dataSchemas"
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/dataSchemas" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "person", "schemaDetails" : { "type":"CUSTOMIZED_STRUCT", "granularity":"GRANULARITY_ASSET_LEVEL", "customized_struct_config": { "field_schemas": { "name": { "type":"STRING", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } }, "age": { "type":"FLOAT", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } } } } } }
Danach können wir Anmerkungen einfügen.
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. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - CORPUS_ID: Die ID Ihres Zielkorpus.
- ASSET_ID: Die ID Ihres Ziel-Assets.
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
JSON-Text der Anfrage:
{ "user_specified_annotation" : { "key": "person", "value": { "customized_struct_value":{ "elements" : { "name": { "str_value":"John" }, "age": { "float_value":10.5 } } } } } }
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/ASSET_ID/annotations"
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/ASSET_ID/annotations" | 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/annotations/ANNOTATION_ID", "userSpecifiedAnnotation": { "key": "person", "value": { "customized_struct_value":{ "elements" : { "name": { "str_value":"John" }, "age": { "float_value":10.5 } } } } } }
Sobald die Annotation indexiert ist, kann eine Suchanfrage so gestellt 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. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - CORPUS_ID: Die ID Ihres Zielkorpus.
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:searchAssets
JSON-Text der Anfrage:
{ "page_size": 10, "criteria": { "field": "person.name", "text_array": { "txt_values": "John" }, }, }
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:searchAssets"
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:searchAssets" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
Warehouse-Schemadetails ändern (Konsole)
Schemafelder werden aus den Modellen über die Anwendungen generiert. Sie können auch benutzerdefinierte Felder hinzufügen.
Nachdem Sie die filterbaren Felder geändert haben, können Sie damit in Ihrem Data Warehouse suchen.
Console
Öffnen Sie den Tab Warehouses (Speicherorte) des Vertex AI Vision-Dashboards.
Suchen Sie das gewünschte Lager und wählen Sie den Namen aus. Die Seite Warehouse Details (Warehouse-Details) wird angezeigt.
Wählen Sie die Felder aus, die Sie für die Suche aktivieren möchten.