Wenn Sie Daten aus Bigtable aufnehmen möchten, gehen Sie so vor, um einen Datenspeicher zu erstellen und Daten über die API aufzunehmen.
Bigtable-Zugriff einrichten
So gewähren Sie Gemini Enterprise Zugriff auf Bigtable-Daten in einem anderen Projekt:
Ersetzen Sie die folgende
PROJECT_NUMBER-Variable durch die Projektnummer Ihres Gemini Enterprise-Projekts. Kopieren Sie dann den Inhalt dieses Codeblocks. Dies ist die Kennung Ihres Gemini Enterprise-Dienstkontos:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`Rufen Sie die Seite IAM und Verwaltung auf.
Wechseln Sie auf der Seite IAM und Verwaltung zu Ihrem Bigtable-Projekt und klicken Sie auf Zugriff gewähren.
Geben Sie unter Neue Hauptkonten die Kennung des Dienstkontos der Instanz ein. Wählen Sie die Rolle Bigtable > Bigtable Reader aus.
Klicken Sie auf Speichern.
Wechseln Sie zurück zu Ihrem Gemini Enterprise-Projekt.
Gehen Sie dann zu Daten aus Bigtable importieren.
Daten aus Bigtable importieren
REST
So erstellen Sie einen Datenspeicher über die Befehlszeile und nehmen Daten aus Bigtable auf:
Erstellen Sie einen Datenspeicher.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID.DATA_STORE_ID: die ID des Datenspeichers. Die ID darf nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten.DISPLAY_NAME: Der Anzeigename des Datenspeichers. Dieser wird möglicherweise in der Google Cloud Console angezeigt.
Importieren Sie Daten aus Bigtable.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "bigtableSource ": { "projectId": "BIGTABLE_PROJECT_ID", "instanceId": "INSTANCE_ID", "tableId": "TABLE_ID", "bigtableOptions": { "keyFieldName": "KEY_FIELD_NAME", "families": { "key": "KEY", "value": { "fieldName": "FIELD_NAME", "encoding": "ENCODING", "type": "TYPE", "columns": [ { "qualifier": "QUALIFIER", "fieldName": "FIELD_NAME", "encoding": "COLUMN_ENCODING", "type": "COLUMN_VALUES_TYPE" } ] } } ... } }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'Ersetzen Sie Folgendes:
PROJECT_ID: die ID Ihres Gemini Enterprise-Projekts.DATA_STORE_ID: die ID des Datenspeichers. Die ID darf nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten.BIGTABLE_PROJECT_ID: die ID Ihres Bigtable-Projekts.INSTANCE_ID: die ID Ihrer Bigtable-Instanz.TABLE_ID: die ID Ihrer Bigtable-Tabelle.KEY_FIELD_NAME: optional, aber empfohlen. Der Feldname, der nach der Aufnahme in Gemini Enterprise für den Zeilenschlüsselwert verwendet werden soll.KEY: erforderlich. Ein Stringwert für den Schlüssel der Spaltenfamilie.ENCODING: optional. Der Codierungsmodus der Werte, wenn der Typ nicht STRING ist. Dieser kann für eine bestimmte Spalte überschrieben werden, indem Sie die Spalte incolumnsauflisten und eine Codierung dafür angeben.COLUMN_TYPE: optional. Der Typ der Werte in dieser Spaltenfamilie.QUALIFIER: erforderlich. Qualifizierer der Spalte.FIELD_NAME: optional, aber empfohlen. Der Feldname, der nach dem Import in Gemini Enterprise für diese Spalte verwendet werden soll.COLUMN_ENCODING: optional. Der Codierungsmodus der Werte für eine bestimmte Spalte, wenn der Typ nicht STRING ist.RECONCILIATION_MODE: optional. Mögliche Werte sindFULLundINCREMENTAL. Der Standardwert istINCREMENTAL. Wenn SieINCREMENTALangeben, werden die Daten aus Bigtable in Ihrem Datenspeicher inkrementell aktualisiert. Dadurch wird ein Upsert-Vorgang ausgeführt, bei dem neue Dokumente hinzugefügt und vorhandene Dokumente durch aktualisierte Dokumente mit derselben ID ersetzt werden. Wenn SieFULLangeben, werden die Dokumente in Ihrem Datenspeicher vollständig neu synchronisiert. Das bedeutet, dass Ihrem Datenspeicher neue und aktualisierte Dokumente hinzugefügt und Dokumente, die nicht in Bigtable enthalten sind, aus Ihrem Datenspeicher entfernt werden. DerFULL-Modus ist hilfreich, wenn Sie nicht mehr benötigte Dokumente automatisch löschen möchten.AUTO_GENERATE_IDS: optional. Gibt an, ob Dokument-IDs automatisch generiert werden sollen. Wenn dieser Wert auftruegesetzt ist, werden die Dokument-IDs auf Grundlage eines Nutzlast-Hash generiert. Beachten Sie, dass generierte Dokument-IDs bei mehreren Importvorgängen möglicherweise nicht gleich bleiben. Wenn Sie bei mehreren Importvorgängen IDs automatisch generieren, empfiehlt Google dringend,reconciliationModeaufFULLfestzulegen, um die Dokument-IDs konsistent zu halten.Geben Sie
autoGenerateIdsnur an, wennbigquerySource.dataSchemaaufcustomfestgelegt ist. Andernfalls wird der FehlerINVALID_ARGUMENTzurückgegeben. Wenn SieautoGenerateIdsnicht angeben oder auffalsefestlegen, müssen Sie dasidFieldangeben. Andernfalls können die Dokumente nicht importiert werden.ID_FIELD: optional. Gibt an, welche Felder die Dokument-IDs enthalten.
Nächste Schritte
Wenn Sie Ihren Datenspeicher an eine App anhängen möchten, erstellen Sie die App und wählen Sie Ihren Datenspeicher aus. Folgen Sie dazu der Anleitung unter Such-App erstellen.
Weitere Informationen zur Vorschau der Suchergebnisse nach Erstellung der App und des Datenspeichers.